diff options
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator')
30 files changed, 0 insertions, 3284 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/ApplicationViewerSorter.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/ApplicationViewerSorter.java deleted file mode 100644 index 5692e635d..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/ApplicationViewerSorter.java +++ /dev/null @@ -1,32 +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 org.eclipse.jface.viewers.Viewer; -import org.eclipse.jst.j2ee.internal.provider.J2EEBinaryModulesItemProvider; - -public class ApplicationViewerSorter extends J2EEViewerSorter { - - public ApplicationViewerSorter() { - super(); - } - - @Override - public int compare(Viewer viewer, Object e1, Object e2) { - if(e1 instanceof J2EEBinaryModulesItemProvider){ - return 1; - } else if(e2 instanceof J2EEBinaryModulesItemProvider){ - return -1; - } - return super.compare(viewer, e1, e2); - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/ClearPlaceHolderJob.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/ClearPlaceHolderJob.java deleted file mode 100644 index 48e0627e1..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/ClearPlaceHolderJob.java +++ /dev/null @@ -1,53 +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 org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jface.viewers.AbstractTreeViewer; -import org.eclipse.jst.j2ee.internal.navigator.ui.Messages; -import org.eclipse.ui.progress.UIJob; - -public class ClearPlaceHolderJob extends UIJob { - - private AbstractTreeViewer viewer; - private LoadingDDNode placeHolder; - private Object[] children; - private Object parent; - - public ClearPlaceHolderJob(AbstractTreeViewer viewer, LoadingDDNode placeHolder, Object parent, Object[] children) { - super(Messages.ClearPlaceHolderJob_Removing_place_holder_); - this.viewer = viewer; - this.placeHolder = placeHolder; - this.parent = parent; - this.children = children; - setRule(new NonConflictingRule()); - } - - @Override - public IStatus runInUIThread(IProgressMonitor monitor) { - - try { - if( !viewer.getControl().isDisposed() ){ - viewer.getControl().setRedraw(false); - viewer.remove(placeHolder); - viewer.add(parent, children); - } - } finally { - if( !viewer.getControl().isDisposed() ){ - viewer.getControl().setRedraw(true); - } - } - return Status.OK_STATUS; - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EARContentProvider.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EARContentProvider.java deleted file mode 100644 index 97396aca4..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EARContentProvider.java +++ /dev/null @@ -1,52 +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 org.eclipse.emf.ecore.EObject; -import org.eclipse.jst.j2ee.application.ApplicationPackage; -import org.eclipse.jst.j2ee.common.CommonPackage; - -/** - * This class handles the EAR navigator content to the project explorer - */ -public class EARContentProvider extends J2EEContentProvider { - - /** - * Default constructor - */ - public EARContentProvider() { - super(); - } - - /** - * Constructor - * @param aViewerId - */ - public EARContentProvider(String aViewerId) { - super(aViewerId); - } - - /** - * This method will filter out any non Application DD objects so as not to duplicate meta nodes in - * the binary modules case. - */ - @Override - public Object[] getChildren(Object aParentElement) { - if (aParentElement instanceof EObject) { - EObject eObject = (EObject)aParentElement; - String emfPackage = eObject.eClass().getEPackage().getNsURI(); - if (!emfPackage.equals(ApplicationPackage.eNS_URI)&& - !emfPackage.equals(CommonPackage.eNS_URI)) - return new Object[]{}; - } - return super.getChildren(aParentElement); - } -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFModelManager.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFModelManager.java deleted file mode 100644 index 058929470..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFModelManager.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 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 - *******************************************************************************/ -/* - * Created on Feb 17, 2005 - */ -package org.eclipse.jst.j2ee.navigator.internal; - -import org.eclipse.core.resources.IProject; - -public abstract class EMFModelManager { - private final IProject project; - private final EMFRootObjectProvider provider; - public abstract Object[] getModels(); - public final IProject getProject() { - return project; - } - public final EMFRootObjectProvider getEMFRootObjectProvider(){ - return provider; - } - public EMFModelManager(IProject aProject, EMFRootObjectProvider aProvider) { - project = aProject; - provider = aProvider; - } - - /** - * @param affectedProject - */ - protected void notifyListeners(IProject affectedProject) { - provider.notifyListeners(affectedProject); - } - /** - * - */ - public abstract void dispose(); - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFModelManagerFactory.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFModelManagerFactory.java deleted file mode 100644 index 4bb0337ae..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFModelManagerFactory.java +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 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 - *******************************************************************************/ -/* - * Created on Feb 17, 2005 - */ -package org.eclipse.jst.j2ee.navigator.internal; - -import org.eclipse.core.resources.IProject; -import org.eclipse.wst.common.componentcore.ModuleCoreNature; - -public class EMFModelManagerFactory { - public static EMFModelManager createEMFModelManager(IProject project, EMFRootObjectProvider provider) { - boolean flexible = (ModuleCoreNature.getModuleCoreNature(project) != null); - EMFModelManager modelManager = null; - if (flexible) - modelManager = new FlexibleEMFModelManager(project,provider); - else - modelManager = new NonFlexibleEMFModelManager(project,provider); - return modelManager; - } -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFRootObjectManager.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFRootObjectManager.java deleted file mode 100644 index 163345659..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFRootObjectManager.java +++ /dev/null @@ -1,253 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 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.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceChangeEvent; -import org.eclipse.core.resources.IResourceChangeListener; -import org.eclipse.core.resources.IResourceDelta; -import org.eclipse.core.resources.IResourceDeltaVisitor; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.jem.util.logger.proxy.Logger; -import org.eclipse.swt.SWTError; -import org.eclipse.swt.SWTException; -import org.eclipse.wst.common.componentcore.ArtifactEdit; -import org.eclipse.wst.common.componentcore.ComponentCore; -import org.eclipse.wst.common.componentcore.resources.IVirtualComponent; -import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel; -import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelEvent; -import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelListener; - -/** - * <p> - * The following class is experimental until fully documented. - * </p> - */ -public class EMFRootObjectManager implements EditModelListener, IResourceChangeListener, IResourceDeltaVisitor { - - - - private final Map projectEditModels = new HashMap(); - private final Map projectRootObjects = new HashMap(); - - private final List listeners = new ArrayList(); - - public interface IRefreshHandlerListener { - void onRefresh(Object element); - } - - /** - * - */ - public EMFRootObjectManager() { - super(); - ResourcesPlugin.getWorkspace().addResourceChangeListener(this); - } - - - - public void dispose() { - if (projectEditModels == null) - return; - ResourcesPlugin.getWorkspace().removeResourceChangeListener(this); - EditModel editModel = null; - Object[] keys = projectEditModels.keySet().toArray(); - for (int i = 0; i < keys.length; i++) { - editModel = (EditModel) projectEditModels.remove(keys[i]); - if (editModel != null) { - editModel.removeListener(this); - editModel.releaseAccess(this); - } - } - } - - public Object getRootObject(IProject project) { - if (project == null || !project.isAccessible()) - return null; - - Object rootObject = null; - synchronized (projectRootObjects) { - rootObject = projectRootObjects.get(project); - - if (rootObject == null || ((EObject) rootObject).eResource() == null) { - EditModel editModel = getEditModelForProject(project); - if (editModel != null) { - rootObject = editModel.getPrimaryRootObject(); - projectRootObjects.put(project, rootObject); - } - } - } - return rootObject; - } - - - protected EditModel getEditModelForProject(IProject project) { - if (project == null) - return null; - EditModel editModel = null; - synchronized (projectEditModels) { - editModel = (EditModel) projectEditModels.get(project); - IVirtualComponent component = ComponentCore.createComponent(project); - ArtifactEdit artifactEdit = null; - try { - if (editModel == null && project.isAccessible()) { - artifactEdit = ArtifactEdit.getArtifactEditForRead(component); - if (artifactEdit != null) { - editModel = (EditModel) artifactEdit.getAdapter(EditModel.class); - if (editModel != null) { - editModel.addListener(this); - addMapping(project, editModel); - } - } - } - } finally { - if (artifactEdit!=null) - artifactEdit.dispose(); - } - } - return editModel; - } - - protected void addMapping(IProject project, EditModel editModel) { - projectEditModels.put(project, editModel); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.wst.common.internal.emfworkbench.integration.EditModelListener#editModelChanged(org.eclipse.wst.common.internal.emfworkbench.integration.EditModelEvent) - */ - public void editModelChanged(EditModelEvent anEvent) { - IProject affectedProject = anEvent.getEditModel().getProject(); - switch (anEvent.getEventCode()) { - case EditModelEvent.UNLOADED_RESOURCE : - case EditModelEvent.REMOVED_RESOURCE : { - Object oldRootObject = projectRootObjects.remove(affectedProject); - if (oldRootObject != null) - notifyListeners(affectedProject); - } - break; - case EditModelEvent.SAVE : { - Object oldRootObject = projectRootObjects.get(affectedProject); - if (oldRootObject == null) - notifyListeners(affectedProject); - } - break; - case EditModelEvent.PRE_DISPOSE : - disposeCache(affectedProject); - break; - default : - break; - } - } - - - /** - * @param aProject - */ - private void notifyListeners(IProject aProject) { - for (int x = 0; x < listeners.size(); ++x) { - IRefreshHandlerListener refreshHandler = (IRefreshHandlerListener) listeners.get(x); - refreshHandler.onRefresh(aProject); - } - - } - - - - /* - * (non-Javadoc) - * - * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent) - */ - public void resourceChanged(IResourceChangeEvent event) { - final IResourceDelta delta = event.getDelta(); - - if (delta != null) { - try { - delta.accept(EMFRootObjectManager.this); - } catch (CoreException e) { - Logger.getLogger().logError(e); - } catch (SWTException swte) { - Logger.getLogger().logError(swte); - } catch (SWTError swte) { - Logger.getLogger().logError(swte); - } - } - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta) - */ - public boolean visit(IResourceDelta delta) throws CoreException { - IResource resource = delta.getResource(); - if (resource != null) { - switch (resource.getType()) { - case IResource.ROOT : - return true; - case IResource.PROJECT : - boolean projectOpenStateChanged = ((delta.getFlags() & IResourceDelta.OPEN) != 0); - if (delta.getKind() == IResourceDelta.REMOVED || projectOpenStateChanged) - disposeCache((IProject) resource); - return false; - } - } - return false; - } - - - protected void disposeCache(IProject affectedProject) { - synchronized (projectEditModels) { - projectRootObjects.remove(affectedProject); - //System.out.println("REMOVING edit model: " + affectedProject.getName()); - EditModel editModel = (EditModel) projectEditModels.remove(affectedProject); - //System.out.println("REMOVED edit model " + affectedProject.getName()); - if (editModel != null) { - editModel.removeListener(this); - editModel.releaseAccess(this); - //System.out.println("RELEASED edit model " + affectedProject.getName()); - } - } - } - - public void addRefreshHandlerListener(IRefreshHandlerListener aListener) { - synchronized (getListeners()) { - if (aListener != null && !getListeners().contains(aListener)) - getListeners().add(aListener); - } - } - - public void removeRefreshHandlerListener(IRefreshHandlerListener aListener) { - synchronized (listeners) { - listeners.remove(aListener); - } - } - - /** - * Insert the method's description here. Creation date: (4/11/2001 4:42:58 PM) - * - * @return java.util.List - */ - protected java.util.List getListeners() { - return listeners; - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFRootObjectProvider.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFRootObjectProvider.java deleted file mode 100644 index 8c973c53a..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFRootObjectProvider.java +++ /dev/null @@ -1,166 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 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 - *******************************************************************************/ -/* - * Created on Feb 17, 2005 - */ -package org.eclipse.jst.j2ee.navigator.internal; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceChangeEvent; -import org.eclipse.core.resources.IResourceChangeListener; -import org.eclipse.core.resources.IResourceDelta; -import org.eclipse.core.resources.IResourceDeltaVisitor; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.jem.util.logger.proxy.Logger; -import org.eclipse.swt.SWTError; -import org.eclipse.swt.SWTException; - -public class EMFRootObjectProvider implements IResourceChangeListener, IResourceDeltaVisitor{ - private final HashMap emfModelCache = new HashMap(); - private final List listeners = new ArrayList(); - - public interface IRefreshHandlerListener { - void onRefresh(Object element); - } - - /** - * - */ - public EMFRootObjectProvider() { - super(); - ResourcesPlugin.getWorkspace().addResourceChangeListener(this); - } - - public Object[] getModels(IProject project){ - try { - EMFModelManager modelManager = null; - synchronized (emfModelCache) { - modelManager = (EMFModelManager) emfModelCache.get(project); - if (modelManager == null) { - modelManager= EMFModelManagerFactory.createEMFModelManager(project,this) ; - emfModelCache.put(project,modelManager); - } - } - return modelManager.getModels(); - } catch (Exception ex) { - return null; - } - } - - public boolean hasLoadedModels(IProject project) { - synchronized (emfModelCache) { - return emfModelCache.get(project) != null; - } - } - - /* (non-Javadoc) - * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent) - */ - public void resourceChanged(IResourceChangeEvent event) { - final IResourceDelta delta = event.getDelta(); - - if (delta != null) { - try { - delta.accept(EMFRootObjectProvider.this); - } catch (CoreException e) { - Logger.getLogger().logError(e); - } catch (SWTException swte) { - Logger.getLogger().logError(swte); - } catch (SWTError swte) { - Logger.getLogger().logError(swte); - } - } - - } - - /* (non-Javadoc) - * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta) - */ - public boolean visit(IResourceDelta delta) throws CoreException { - IResource resource = delta.getResource(); - if (resource != null) { - switch (resource.getType()) { - case IResource.ROOT : - return true; - case IResource.PROJECT : - boolean projectOpenStateChanged = ((delta.getFlags() & IResourceDelta.OPEN) != 0); - if (delta.getKind() == IResourceDelta.REMOVED || projectOpenStateChanged) { - IProject project = (IProject) resource; - dispose(project); - } - return false; - } - } - return false; - } - - private void dispose(IProject project) { - if (project == null) return; - EMFModelManager modelManager = (EMFModelManager) emfModelCache.remove(project); - if (modelManager != null) { - modelManager.dispose(); - modelManager = null; - } - } - public void dispose() { - ResourcesPlugin.getWorkspace().removeResourceChangeListener(this); - EMFModelManager modelManager = null; - Object[] keys = emfModelCache.keySet().toArray(); - for (int i = 0; i < keys.length; i++) { - modelManager = (EMFModelManager) emfModelCache.remove(keys[i]); - if (modelManager != null) { - modelManager.dispose(); - } - } - } - - - /** - * @param aProject - */ - public void notifyListeners(IProject aProject) { - for (int x = 0; x < listeners.size(); ++x) { - IRefreshHandlerListener refreshHandler = (IRefreshHandlerListener) listeners.get(x); - refreshHandler.onRefresh(aProject); - } - - } - - public void addRefreshHandlerListener(IRefreshHandlerListener aListener) { - synchronized (getListeners()) { - if (aListener != null && !getListeners().contains(aListener)) - getListeners().add(aListener); - } - } - - public void removeRefreshHandlerListener(IRefreshHandlerListener aListener) { - synchronized (listeners) { - listeners.remove(aListener); - } - } - - /** - * Insert the method's description here. Creation date: (4/11/2001 4:42:58 PM) - * - * @return java.util.List - */ - protected java.util.List getListeners() { - return listeners; - } - - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/FlexibleEMFModelManager.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/FlexibleEMFModelManager.java deleted file mode 100644 index 097318722..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/FlexibleEMFModelManager.java +++ /dev/null @@ -1,228 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 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 - *******************************************************************************/ -/* - * Created on Feb 17, 2005 - */ -package org.eclipse.jst.j2ee.navigator.internal; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.IProject; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.wst.common.componentcore.ArtifactEdit; -import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel; -import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelEvent; -import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelListener; -import org.eclipse.jst.j2ee.navigator.internal.plugin.J2EENavigatorPlugin; - -public class FlexibleEMFModelManager extends EMFModelManager implements EditModelListener{ - - private List rootObjects = new ArrayList(); - private static final Object[] EMPTY_OBJECT = new Object[0]; - private final List artifactEdits = new ArrayList(); - private final Map artifactEditToRootObject = new HashMap(); - - /** - * @param aProject - * @param provider - */ - public FlexibleEMFModelManager(IProject aProject, EMFRootObjectProvider provider) { - super(aProject,provider); - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.navigator.internal.EMFModelManager#getModels() - */ - @Override - public Object[] getModels() { - try { - - IProject project = getProject(); - if ( project== null || !project.isAccessible()) - return EMPTY_OBJECT; - - synchronized (rootObjects) { - if (!isValid(rootObjects)) { - rootObjects = getRootObjects(); - } - } - } catch (Exception ex) { - J2EENavigatorPlugin.logError(ex); - } - if (rootObjects != null) { - return rootObjects.toArray() ; - } - return EMPTY_OBJECT; - - } - - private boolean isValid(List rootObjects) { - if (rootObjects == null || rootObjects.size()==0) - return false; - for (int x=0; x< rootObjects.size(); ++x) { - EObject eObject = (EObject) rootObjects.get(x); - if (eObject != null && eObject.eResource() == null) - return false; - } - return true; - } - - /** - * @param project - * @return - */ - private List getRootObjects() { - List artifacts = getArtifactEdits(); - List flexibleObjects = new ArrayList(); - ArtifactEdit artifactEdit = null; - EObject contentModelRoot = null; - for (int x=0; x< artifacts.size(); ++x) { - artifactEdit = (ArtifactEdit)artifacts.get(x); - contentModelRoot = artifactEdit.getContentModelRoot(); - if (contentModelRoot != null) { - flexibleObjects.add(contentModelRoot); - if (!rootObjects.contains(contentModelRoot)) - rootObjects.add(contentModelRoot); - artifactEditToRootObject.put(artifactEdit,contentModelRoot); - } - } - return flexibleObjects; - } - - protected List getArtifactEdits() { - - IProject project = getProject(); - if (project == null) - return null; - synchronized (artifactEdits) { - if (artifactEdits.size() ==0 && project.isAccessible()) { - ArtifactEdit artifactEdit = null; - try{ - artifactEdit = ArtifactEdit.getArtifactEditForRead(project); - if(artifactEdit != null) { - artifactEdits.add(artifactEdit); - artifactEdit.addListener(this); - } - } catch(Exception e){ - J2EENavigatorPlugin.logError(e); - } - } - } - return artifactEdits; - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.navigator.internal.EMFModelManager#dispose() - */ - @Override - public void dispose() { - if (artifactEdits != null) { - for (int x=0; x< artifactEdits.size(); ++x) { - ArtifactEdit artifactEdit = (ArtifactEdit)artifactEdits.get(x); - if (artifactEdit != null) { - artifactEdit.removeListener(this); - artifactEdit.dispose(); - } - - } - } - rootObjects.clear(); - - } - - /* (non-Javadoc) - * @see org.eclipse.wst.common.internal.emfworkbench.integration.EditModelListener#editModelChanged(org.eclipse.wst.common.internal.emfworkbench.integration.EditModelEvent) - */ - public void editModelChanged(EditModelEvent anEvent) { - IProject affectedProject = anEvent.getEditModel().getProject(); - - switch (anEvent.getEventCode()) { - case EditModelEvent.UNLOADED_RESOURCE : - case EditModelEvent.REMOVED_RESOURCE : { - Object oldRootObject = removeRootObject(anEvent.getEditModel(),affectedProject); - getRootObjects(); - if (oldRootObject != null) - notifyListeners(affectedProject); - } - break; - case EditModelEvent.SAVE : { - Object oldRootObject = getRootObject(anEvent.getEditModel(),affectedProject); - if (oldRootObject == null) - notifyListeners(affectedProject); - } - break; - case EditModelEvent.PRE_DISPOSE : - dispose(anEvent.getEditModel(),affectedProject); - break; - default : - break; - } - - } - - - - /** - * @param editModel - * @param affectedProject - * @return - */ - private Object getRootObject(EditModel editModel, IProject project) { - ArtifactEdit artifactEdit = getArtifactEdit(editModel,project); - if (artifactEdit != null) { - return artifactEditToRootObject.get(artifactEdit); - } - return null; - } - - /** - * @param editModel - * @param affectedProject - * @return - */ - private Object removeRootObject(EditModel editModel, IProject project) { - ArtifactEdit artifactEdit = getArtifactEdit(editModel,project); - if (artifactEdit != null) { - rootObjects.remove(artifactEditToRootObject.get(artifactEdit)); - artifactEditToRootObject.remove(artifactEdit); - } - return artifactEdit; - } - - /** - * @param affectedProject - * @param editModel - */ - private void dispose( EditModel editModel, IProject project) { - ArtifactEdit artifactEdit = getArtifactEdit(editModel,project); - if (artifactEdit != null) { - artifactEdit.removeListener(this); - artifactEdits.remove(artifactEdit); - artifactEditToRootObject.remove(artifactEdit); - } - - } - - private ArtifactEdit getArtifactEdit(EditModel editModel, IProject project) { - if (artifactEdits != null) { - for (int x=0; x<artifactEdits.size(); ++x) { - ArtifactEdit artifactEdit = (ArtifactEdit)artifactEdits.get(x); - if (artifactEdit.hasEditModel(editModel)) - return artifactEdit; - } - } - return null; - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/IJ2EENavigatorConstants.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/IJ2EENavigatorConstants.java deleted file mode 100644 index 0bf7e81db..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/IJ2EENavigatorConstants.java +++ /dev/null @@ -1,23 +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 - *******************************************************************************/ -/* - * Created on Jul 7, 2004 - */ -package org.eclipse.jst.j2ee.navigator.internal; - - -/** - * @author mdelder - */ -public interface IJ2EENavigatorConstants { - - String VIEWER_ID = "org.eclipse.ui.navigator.ProjectExplorer";//$NON-NLS-1$ -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/IJ2EEWizardConstants.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/IJ2EEWizardConstants.java deleted file mode 100644 index 05943c218..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/IJ2EEWizardConstants.java +++ /dev/null @@ -1,67 +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 org.eclipse.jst.j2ee.internal.wizard.AppClientComponentExportWizard; -import org.eclipse.jst.j2ee.internal.wizard.AppClientComponentImportWizard; -import org.eclipse.jst.j2ee.internal.wizard.EARComponentExportWizard; -import org.eclipse.jst.j2ee.internal.wizard.EARComponentImportWizard; -import org.eclipse.jst.j2ee.internal.wizard.J2EEUtilityJarImportWizardNew; -import org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorComponentExportWizard; -import org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorComponentImportWizard; - -/** - * <p> - * The following class is experimental until fully documented. - * </p> - * <p> - * The Creation IDs are used for activity filtering and as such are declared on the individual - * wizards. All other IDs must be maintained to stay in sync with the values found in the plugin.xml - * files of the respective module UI plugins. - */ -public interface IJ2EEWizardConstants { - -// String NEW_EAR_PROJECT_WIZARD_ID = EARComponentCreationWizard.WIZARD_ID; - -// String NEW_APPCLIENT_PROJECT_WIZARD_ID = AppClientComponentCreationWizard.WIZARD_ID; -// -// String NEW_JCA_PROJECT_WIZARD_ID = ConnectorComponentCreationWizard.WIZARD_ID; -// -// String NEW_EJB_PROJECT_WIZARD_ID = EJBComponentCreationWizard.WIZARD_ID; -// -// String NEW_WEB_PROJECT_WIZARD_ID = WebComponentCreationWizard.WIZARD_ID; - - String NEW_ENTERPRISE_BEAN_WIZARD_ID = "org.eclipse.jst.j2ee.ejb.ui.util.createEJBWizard"; //$NON-NLS-1$ - - String IMPORT_EAR_WIZARD_ID = EARComponentImportWizard.class.getName(); - - String IMPORT_APPCLIENT_WIZARD_ID = AppClientComponentImportWizard.class.getName(); - - String IMPORT_CONNECTOR_WIZARD_ID = ConnectorComponentImportWizard.class.getName(); - - String IMPORT_ENTERPRISE_BEAN_WIZARD_ID = "org.eclipse.jst.ejb.ui.internal.wizard.EJBComponentImportWizard"; //$NON-NLS-1$ - - String IMPORT_WEB_MODULE_WIZARD_ID = "org.eclipse.jst.servlet.ui.internal.wizard.WebComponentImportWizard"; //$NON-NLS-1$ - - String EXPORT_WEB_MODULE_WIZARD_ID = "org.eclipse.jst.servlet.ui.internal.wizard.WebComponentExportWizard"; //$NON-NLS-1$ - - String IMPORT_UTILITY_JAR_WIZARD_ID = J2EEUtilityJarImportWizardNew.class.getName(); - - String EXPORT_EAR_WIZARD_ID = EARComponentExportWizard.class.getName(); - - String EXPORT_APPCLIENT_WIZARD_ID = AppClientComponentExportWizard.class.getName(); - - String EXPORT_CONNECTOR_WIZARD_ID = ConnectorComponentExportWizard.class.getName(); - - String EXPORT_ENTERPRISE_BEAN_WIZARD_ID = "org.eclipse.jst.ejb.ui.internal.wizardEJBComponentExportWizard"; //$NON-NLS-1$ - - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEActionProvider.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEActionProvider.java deleted file mode 100644 index 8986d0514..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEActionProvider.java +++ /dev/null @@ -1,138 +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.List; - -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.jst.j2ee.internal.actions.OpenJ2EEResourceAction; -import org.eclipse.jst.j2ee.internal.provider.J2EEUtilityJarItemProvider; -import org.eclipse.ui.IActionBars; -import org.eclipse.ui.actions.ActionContext; -import org.eclipse.ui.navigator.CommonActionProvider; -import org.eclipse.ui.navigator.ICommonActionConstants; -import org.eclipse.ui.navigator.ICommonActionExtensionSite; -import org.eclipse.ui.navigator.ICommonMenuConstants; - -public class J2EEActionProvider extends CommonActionProvider { - - private static final Class IRESOURCE_CLASS = IResource.class; - - private OpenJ2EEResourceAction openAction; - - /** - * - */ - public J2EEActionProvider() { - } - /* - * (non-Javadoc) - * - * @see org.eclipse.wst.common.navigator.internal.views.actions.ICommonActionProvider#init(org.eclipse.ui.IViewPart, - * org.eclipse.jface.viewers.StructuredViewer, - * org.eclipse.wst.common.navigator.internal.views.extensions.NavigatorContentService) - */ - @Override - public void init(ICommonActionExtensionSite aConfig) { - openAction = new OpenJ2EEResourceAction(); - -// renameAction = new J2EERenameAction(aConfig.getViewSite(), aConfig.getViewSite().getShell()); - - - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.wst.common.navigator.internal.views.actions.ICommonActionProvider#setActionContext(org.eclipse.ui.actions.ActionContext) - */ - @Override - public void setContext(ActionContext aContext) { - - if (aContext != null && aContext.getSelection() instanceof IStructuredSelection) { - IStructuredSelection selection = (IStructuredSelection) aContext.getSelection(); - - openAction.selectionChanged(selection); -// renameAction.selectionChanged(selection); - - Object[] array = selection.toArray(); - if (isUtilityJars(array)) { - J2EEUtilityJarItemProvider utilityJarItemProvider = null; - List newSelection = new ArrayList(); - for (int i = 0; i < array.length; i++) { - utilityJarItemProvider = (J2EEUtilityJarItemProvider) array[i]; - newSelection.addAll(utilityJarItemProvider.getChildren(null)); - } - selection = new StructuredSelection(newSelection); - } - //genericDelete.selectionChanged(genericDelete, selection); - } - super.setContext(aContext); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.wst.common.navigator.internal.views.actions.ICommonActionProvider#fillActionBars(org.eclipse.ui.IActionBars) - */ - @Override - public void fillActionBars(IActionBars theActionBars) { -// if (genericDelete.isEnabled()) -// theActionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(), genericDelete); - if(openAction.isEnabled()) - theActionBars.setGlobalActionHandler(ICommonActionConstants.OPEN, openAction); - return; - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.wst.common.navigator.internal.views.actions.ICommonActionProvider#fillContextMenu(org.eclipse.jface.action.IMenuManager) - */ - @Override - public void fillContextMenu(IMenuManager aMenu) { - if (getContext()==null || getContext().getSelection().isEmpty()) - return; - IStructuredSelection selection = (IStructuredSelection) getContext().getSelection(); - if(!adaptsToResource(selection.toArray())) { - openAction.selectionChanged(selection); - if (openAction.isEnabled()) - aMenu.insertAfter(ICommonMenuConstants.GROUP_OPEN, openAction); - } - } - - private boolean adaptsToResource(Object[] objects) { - for (int i = 0; i < objects.length; i++) { - if(objects[i] instanceof IResource) { - return true; - } else if (objects[i] instanceof IAdaptable && (((IAdaptable)objects[i]).getAdapter(IRESOURCE_CLASS) != null)) { - return true; - } - } - return false; - } - private boolean isUtilityJars(Object[] items) { - if (items != null) { - for (int i = 0; i < items.length; i++) { - if (items[i] == null || items[i].getClass() != J2EEUtilityJarItemProvider.class) - return false; - } - return true; - } - return false; - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEComparator.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEComparator.java deleted file mode 100644 index 8fbe49067..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEComparator.java +++ /dev/null @@ -1,67 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 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 - *******************************************************************************/ -/* - * Created on Jan 22, 2005 - */ -package org.eclipse.jst.j2ee.navigator.internal; - -import java.util.Comparator; - -import org.eclipse.jst.j2ee.ejb.EnterpriseBean; -import org.eclipse.jst.j2ee.internal.ejb.provider.J2EEJavaClassProviderHelper; - - -public class J2EEComparator implements Comparator { - - private J2EEViewerSorter j2eeViewSorter = new J2EEViewerSorter(); - - /* - * (non-Javadoc) - * - * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) - */ - public int compare(Object o1, Object o2) { - J2EEJavaClassProviderHelper providerHelperLeftArg = null; - J2EEJavaClassProviderHelper providerHelperRightArg = null; - - if (o1 instanceof J2EEJavaClassProviderHelper) - providerHelperLeftArg = (J2EEJavaClassProviderHelper) o1; - if (o2 instanceof J2EEJavaClassProviderHelper) - providerHelperRightArg = (J2EEJavaClassProviderHelper) o2; - - - /* if both arguments are J2EEJavaClassProviderHelpers */ - if (providerHelperLeftArg != null && providerHelperRightArg != null) - return providerHelperLeftArg.getText().compareTo(providerHelperRightArg.getText()); - /* if exactly one of the arguments are J2EEJavaClassProviderHelpers */ - else if (providerHelperLeftArg != null && o2 instanceof EnterpriseBean) - return 1; - else if (providerHelperRightArg != null && o1 instanceof EnterpriseBean) - return -1; - return j2eeViewSorter.compare(null, o1, o2); - } - - /* - * (non-Javadoc) - * - * @see java.util.Comparator#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - return obj instanceof J2EEComparator; - } - - @Override - public int hashCode() { - return J2EEComparator.class.hashCode(); - } - -}
\ No newline at end of file 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 356b58f1d..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEContentProvider.java +++ /dev/null @@ -1,245 +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.ejb.provider.J2EEJavaClassProviderHelper; -import org.eclipse.jst.j2ee.internal.provider.MethodsProviderDelegate; -import org.eclipse.jst.j2ee.navigator.internal.EMFRootObjectProvider.IRefreshHandlerListener; -import org.eclipse.jst.j2ee.navigator.internal.plugin.J2EENavigatorPlugin; -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 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) - && !(aParentElement instanceof J2EEJavaClassProviderHelper)) { - project = ProjectUtilities.getProject(aParentElement); - - if (project != null) { - // 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); - } - - } - } else if (MethodsProviderDelegate.providesContentFor(aParentElement)) - return delegateMethodsProvider.getChildren(aParentElement); - else /* if (isEMFEditObject(aParentElement)) */{ - Object[] siblings = null; - try { - siblings = delegateContentProvider.getChildren(aParentElement); - } catch (Exception e) { - J2EENavigatorPlugin.logError(0, e.getMessage(), e); } - 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 (Display.getCurrent() != null) { - (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$ - @Override - public IStatus runInUIThread(IProgressMonitor monitor) { - (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; - } - }; - job.setRule(rule); - job.schedule(); - } - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEEMFAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEEMFAdapterFactory.java deleted file mode 100644 index 451280e51..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEEMFAdapterFactory.java +++ /dev/null @@ -1,66 +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 - *******************************************************************************/ -/* - * Created on Feb 25, 2004 - * - */ -package org.eclipse.jst.j2ee.navigator.internal; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.IAdapterFactory; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper; - -/** - * @author mdelder - * - */ -public class J2EEEMFAdapterFactory implements IAdapterFactory { - - protected static final Class IPROJECT_CLASS = IProject.class; - protected static final Class IRESOURCE_CLASS = IResource.class; - protected static final Class IFILE_CLASS = IFile.class; - protected static final Class EOBJECT_CLASS = EObject.class; - - /** - * - */ - public J2EEEMFAdapterFactory() { - super(); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class) - */ - public Object getAdapter(Object adaptableObject, Class adapterType) { - if (adaptableObject instanceof EObject) { - if (adapterType == IFILE_CLASS || adapterType == IRESOURCE_CLASS) - return WorkbenchResourceHelper.getFile((EObject) adaptableObject); - //else if (adapterType == IPROJECT_CLASS) - // return ProjectUtilities.getProject((EObject) adaptableObject); - } - return null; - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList() - */ - public Class[] getAdapterList() { - return new Class[]{IRESOURCE_CLASS, IFILE_CLASS}; - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EELabelProvider.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EELabelProvider.java deleted file mode 100644 index 6e58cc806..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EELabelProvider.java +++ /dev/null @@ -1,257 +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.io.File; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.Path; -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jem.util.emf.workbench.ProjectUtilities; -import org.eclipse.jface.viewers.ILabelProviderListener; -import org.eclipse.jst.j2ee.common.internal.util.CommonUtil; -import org.eclipse.jst.j2ee.internal.ejb.provider.J2EEJavaClassProviderHelper; -import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin; -import org.eclipse.jst.j2ee.internal.provider.J2EEAdapterFactoryLabelProvider; -import org.eclipse.swt.graphics.Image; -import org.eclipse.ui.IMemento; -import org.eclipse.ui.navigator.ICommonContentExtensionSite; -import org.eclipse.ui.navigator.ICommonLabelProvider; -import org.eclipse.wst.common.internal.emfworkbench.integration.DynamicAdapterFactory; - -/** - * <p> - * The following class is experimental until fully documented. - * </p> - */ -public class J2EELabelProvider implements ICommonLabelProvider { - - private AdapterFactoryLabelProvider delegateLabelProvider; - - /** - * - */ - public J2EELabelProvider() { - super(); - } - - /** - * - */ - public J2EELabelProvider(String aViewerId) { - super(); - initialize(aViewerId); - } - - public void initialize(String aViewerId) { - delegateLabelProvider = new J2EEAdapterFactoryLabelProvider(new DynamicAdapterFactory(aViewerId)); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.wst.common.navigator.internal.views.extensions.ICommonLabelProvider#getDescription(java.lang.Object) - */ - public String getDescription(Object anElement) { - if (anElement != null && anElement instanceof EObject) { - EObject eObj = (EObject) anElement; - if (CommonUtil.isDeploymentDescriptorRoot(eObj, true /* include ears */)) { - IProject parent = ProjectUtilities.getProject(eObj); - if(eObj.eResource() != null) { - String path = new Path(eObj.eResource().getURI().toString()).makeRelative().toString(); - if (parent == null) - return path; - int startIndex = path.indexOf(parent.getFullPath().toString()); - return -1 == startIndex ? path : path.substring(startIndex); - } - return getText(eObj); - } - } - return null; - } - - /** - * @param listener - */ - public void addListener(ILabelProviderListener listener) { - if (delegateLabelProvider != null) - delegateLabelProvider.addListener(listener); - } - - /** - * - */ - public void dispose() { - if (delegateLabelProvider != null) - delegateLabelProvider.dispose(); - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (delegateLabelProvider != null) - return delegateLabelProvider.equals(obj); - return false; - } - - /** - * - */ - public void fireLabelProviderChanged() { - if (delegateLabelProvider != null) - delegateLabelProvider.fireLabelProviderChanged(); - } - - /** - * @return - */ - public AdapterFactory getAdapterFactory() { - if (delegateLabelProvider != null) - return delegateLabelProvider.getAdapterFactory(); - return null; - } - - /** - * @param object - * @param columnIndex - * @return - */ - public Image getColumnImage(Object object, int columnIndex) { - if (delegateLabelProvider != null) - return delegateLabelProvider.getColumnImage(object, columnIndex); - return null; - } - - /** - * @param object - * @param columnIndex - * @return - */ - public String getColumnText(Object object, int columnIndex) { - if (delegateLabelProvider != null) - return delegateLabelProvider.getColumnText(object, columnIndex); - return null; - } - - /** - * @param element - * @return - */ - public Image getImage(Object element) { - if(element instanceof J2EEJavaClassProviderHelper) - return ((J2EEJavaClassProviderHelper) element).getImage(); - if (element instanceof File) - return J2EEUIPlugin.getDefault().getImage("jar_obj"); //$NON-NLS-1$ - if(element instanceof LoadingDDNode) - return ((LoadingDDNode)element).getImage(); - if (element instanceof IProject || element instanceof IJavaProject) - return null; - if (delegateLabelProvider != null) - return delegateLabelProvider.getImage(element); - return null; - } - - /** - * @param element - * @return - */ - public String getText(Object element) { - if(element instanceof J2EEJavaClassProviderHelper) - return ((J2EEJavaClassProviderHelper) element).getText(); - if (element instanceof File) - return ((File)element).getName(); - if (element instanceof IProject) - return ((IProject)element).getName(); - if(element instanceof LoadingDDNode) - return ((LoadingDDNode)element).getText(); - if (delegateLabelProvider != null) - return delegateLabelProvider.getText(element); - return null; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - if (delegateLabelProvider != null) - return delegateLabelProvider.hashCode(); - return super.hashCode(); - } - - /** - * @param object - * @param id - * @return - */ - public boolean isLabelProperty(Object object, String id) { - if (delegateLabelProvider != null) - return delegateLabelProvider.isLabelProperty(object, id); - return false; - } - - /** - * @param notification - */ - public void notifyChanged(Notification notification) { - if (delegateLabelProvider != null) - delegateLabelProvider.notifyChanged(notification); - } - - /** - * @param listener - */ - public void removeListener(ILabelProviderListener listener) { - if (delegateLabelProvider != null) - delegateLabelProvider.removeListener(listener); - } - - /** - * @param adapterFactory - */ - public void setAdapterFactory(AdapterFactory adapterFactory) { - if (delegateLabelProvider != null) - delegateLabelProvider.setAdapterFactory(adapterFactory); - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - if (delegateLabelProvider != null) - return delegateLabelProvider.toString(); - return super.toString(); - } - - public void init(ICommonContentExtensionSite aSite) { - initialize(IJ2EENavigatorConstants.VIEWER_ID); - - } - - public void restoreState(IMemento aMemento) { - } - - public void saveState(IMemento aMemento) { - } -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EENavigationLabelProvider.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EENavigationLabelProvider.java deleted file mode 100644 index 0820d939a..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EENavigationLabelProvider.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 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 - *******************************************************************************/ -/* - * Created on Nov 21, 2003 - * - * To change the template for this generated file go to - * Window - Preferences - Java - Code Generation - Code and Comments - */ -package org.eclipse.jst.j2ee.navigator.internal; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.jst.j2ee.internal.provider.J2EEAdapterFactoryLabelProvider; - -/** - * @author Administrator - * - * To change the template for this generated type comment go to Window - Preferences - Java - Code - * Generation - Code and Comments - */ -public class J2EENavigationLabelProvider extends J2EEAdapterFactoryLabelProvider { - - public J2EENavigationLabelProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEProjectDecorator.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEProjectDecorator.java deleted file mode 100644 index fb95f04ca..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEProjectDecorator.java +++ /dev/null @@ -1,154 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 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.net.URL; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.viewers.IDecoration; -import org.eclipse.jface.viewers.ILightweightLabelDecorator; -import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.jst.j2ee.navigator.internal.plugin.J2EENavigatorPlugin; -import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework; - -/** - * J2EEProjectDecorator - */ -public class J2EEProjectDecorator extends LabelProvider implements ILightweightLabelDecorator { - - private static ImageDescriptor EAR; - private static ImageDescriptor APPCLIENT; - private static ImageDescriptor DYNAMICWEB; - private static ImageDescriptor EJB; - private static ImageDescriptor CONNECTOR; - private static ImageDescriptor WEBFRAGMENT; - - /* The constants are duplicated here to avoid plugin loading. */ - private static final String EAR_FACET = "jst.ear"; //$NON-NLS-1$ - private static final String APPCLIENT_FACET = "jst.appclient"; //$NON-NLS-1$ - private static final String WEB_FACET = "jst.web"; //$NON-NLS-1$ - private static final String EJB_FACET = "jst.ejb"; //$NON-NLS-1$ - private static final String CONNECTOR_FACET = "jst.connector"; //$NON-NLS-1$ - private static final String STATIC_WEB_FACET = "wst.web"; //$NON-NLS-1$ - private static final String WEB_FRAGMENT_FACET = "jst.webfragment"; //$NON-NLS-1$ - - private static final String ICON_DIR = "icons/full/ovr16"; //$NON-NLS-1$ - - - public J2EEProjectDecorator() { - super(); - } - - public void decorate(Object element, IDecoration decoration) { - IProject project = null; - if(element instanceof IProject) { - project = (IProject) element; - } else if(element instanceof IJavaProject) { - project = ((IJavaProject)element).getProject(); - } - if (project != null) { - ImageDescriptor overlay = null; - if (hasFacet(project, EAR_FACET)) - overlay=getEAR(); - else if (hasFacet(project, APPCLIENT_FACET)) - overlay=getAPPCLIENT(); - else if (hasFacet(project, WEB_FACET)) - overlay=getDYNAMICWEB(); - else if (hasFacet(project, EJB_FACET)) - overlay=getEJB(); - else if (hasFacet(project, CONNECTOR_FACET)) - overlay=getCONNECTOR(); - else if (hasFacet(project, STATIC_WEB_FACET)) - overlay=getDYNAMICWEB(); - else if (hasFacet(project, WEB_FRAGMENT_FACET)) - overlay=getWEBFRAGMENT(); - - // keep it null for if (hasFacet(project, UTILITY_FACET)) - if (overlay != null) - decoration.addOverlay(overlay); - } - } - - private boolean hasFacet(IProject project, String facet) { - try { - return FacetedProjectFramework.hasProjectFacet(project, facet); - } catch (CoreException e) { - J2EENavigatorPlugin.logError(0, e.getMessage(), e); - return false; - } - } - - /** - * This gets a .gif from the icons folder. - */ - private static ImageDescriptor getImageDescriptor(String key) { - ImageDescriptor imageDescriptor = null; - if (key != null) { - String gif = "/" + key + ".gif"; //$NON-NLS-1$ //$NON-NLS-2$ - IPath path = new Path(ICON_DIR).append(gif); - URL gifImageURL = FileLocator.find(Platform.getBundle(J2EENavigatorPlugin.PLUGIN_ID), path, null); - if (gifImageURL != null) - imageDescriptor = ImageDescriptor.createFromURL(gifImageURL); - } - return imageDescriptor; - } - - private static ImageDescriptor getEAR() { - if (EAR == null) { - EAR = getImageDescriptor("enterprise_app_ovr"); //$NON-NLS-1$ - } - return EAR; - } - - private static ImageDescriptor getAPPCLIENT() { - if (APPCLIENT == null) { - APPCLIENT = getImageDescriptor("client_app_ovr"); //$NON-NLS-1$ - } - return APPCLIENT; - } - - private static ImageDescriptor getDYNAMICWEB() { - if (DYNAMICWEB == null) { - DYNAMICWEB = getImageDescriptor("web_module_ovr"); //$NON-NLS-1$ - } - return DYNAMICWEB; - } - - private static ImageDescriptor getWEBFRAGMENT() { - if (WEBFRAGMENT == null) { - WEBFRAGMENT = getImageDescriptor("webfragmentoverlayicon"); //$NON-NLS-1$ - } - return WEBFRAGMENT; - } - - private static ImageDescriptor getEJB() { - if (EJB == null) { - EJB = getImageDescriptor("ejb_module_ovr"); //$NON-NLS-1$ - } - return EJB; - } - - private static ImageDescriptor getCONNECTOR() { - if (CONNECTOR == null) { - CONNECTOR = getImageDescriptor("connector_ovr"); //$NON-NLS-1$ - } - return CONNECTOR; - } - -} - diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEViewerSorter.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEViewerSorter.java deleted file mode 100644 index d094b9da1..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEViewerSorter.java +++ /dev/null @@ -1,85 +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 org.eclipse.core.resources.IFile; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jface.viewers.ViewerSorter; -import org.eclipse.jst.j2ee.common.internal.util.CommonUtil; -import org.eclipse.jst.j2ee.ejb.EnterpriseBean; - - -public class J2EEViewerSorter extends ViewerSorter { - - /** - * Constructor for J2EEViewerSorter. - */ - public J2EEViewerSorter() { - super(); - } - - private static final String WST = "org.eclipse.wst"; //$NON-NLS-1$ - private static final String JST = "org.eclipse.jst"; //$NON-NLS-1$ - - /** - * @see ViewerSorter#compare(Viewer, Object, Object) - */ - @Override - public int compare(Viewer viewer, Object e1, Object e2) { - // Check to see if each object is a base WST or JST core contribution - boolean e1_isCore = isCore(e1); - boolean e2_isCore = isCore(e2); - // If both elements are from the same category, do default comparison - if (e1_isCore == e2_isCore) - return super.compare(viewer, e1, e2); - // If e1 is core, but not e2, e1 is less than e2 - else if (e1_isCore) - return -1; - // If e1 is not core, but e2 is, e1 is greater than e2 - else - return 1; - } - - /** - * Any contribution from the base JST or WST packages is considered core, everything else is - * an extension - * @param element - * @return boolean is Contribution Core? - */ - private boolean isCore(Object element) { - if (element != null) { - Class clazz = element.getClass(); - if (clazz != null) { - Package pack = clazz.getPackage(); - if (pack != null) { - String packageName = pack.getName(); - return packageName!=null && (packageName.startsWith(WST) || packageName.startsWith(JST)); - } - } - } - return false; - } - - protected boolean isEnterpriseBean(Object o) { - return o instanceof EnterpriseBean; - } - - protected boolean isDeploymentDescriptorRoot(Object o) { - return CommonUtil.isDeploymentDescriptorRoot(o); - } - - protected boolean shouldSort(Object e1, Object e2) { - return (isDeploymentDescriptorRoot(e1) && isDeploymentDescriptorRoot(e2)) || (isEnterpriseBean(e1) && isEnterpriseBean(e2)) || ((e1 instanceof IFile) && (e2 instanceof IFile)); - } - - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/LoadingDDJob.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/LoadingDDJob.java deleted file mode 100644 index fde69bc7e..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/LoadingDDJob.java +++ /dev/null @@ -1,69 +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.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.Job; -import org.eclipse.jface.viewers.AbstractTreeViewer; - -public class LoadingDDJob extends Job { - - private static final Class IPROJECT_CLASS = IProject.class; - - private EMFRootObjectProvider rootObjectProvider; - private LoadingDDNode placeHolder; - private AbstractTreeViewer viewer; - private IAdaptable parent; - - public LoadingDDJob(AbstractTreeViewer viewer, LoadingDDNode placeHolder, IAdaptable parent, EMFRootObjectProvider rootObjectProvider) { - super(placeHolder.getText()); - this.viewer = viewer; - this.placeHolder = placeHolder; - this.parent = parent; - this.rootObjectProvider = rootObjectProvider; - setRule(new NonConflictingRule()); - } - - @Override - protected IStatus run(IProgressMonitor monitor) { - - LoadingDDUIJob updateUIJob = new LoadingDDUIJob(viewer, placeHolder); - updateUIJob.schedule(); - - List children = new ArrayList(); - - try { - IProject project = (IProject) parent.getAdapter(IPROJECT_CLASS); - Object[] rootObjects = (rootObjectProvider != null) ? rootObjectProvider.getModels(project) : null; - if (rootObjects != null) { - for (int x=0; x< rootObjects.length ; ++x) { - children.add(rootObjects[x]); - } - - } - } finally { - /* dispose of the place holder, causes the termination of the animation job */ - placeHolder.dispose(); - new ClearPlaceHolderJob(viewer, placeHolder, parent, children.toArray()).schedule(); - } - - - return Status.OK_STATUS; - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/LoadingDDNode.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/LoadingDDNode.java deleted file mode 100644 index b8000eebc..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/LoadingDDNode.java +++ /dev/null @@ -1,160 +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.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -import org.eclipse.core.resources.IProject; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jst.j2ee.internal.navigator.ui.Messages; -import org.eclipse.jst.j2ee.navigator.internal.plugin.J2EENavigatorPlugin; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.graphics.Image; -import org.eclipse.wst.common.ui.internal.navigator.ILoadingDDNode; - -public class LoadingDDNode implements ILoadingDDNode{ - - private static ImageDescriptor loadingOne; - private static ImageDescriptor loadingTwo; - private static ImageDescriptor loadingThree; - private static ImageDescriptor loadingFour; - - - private static final Set loadingFiles = new HashSet(); - private static final Map placeHolders = new HashMap(); - - static { - try { - loadingOne = J2EENavigatorPlugin.getDefault().getImageDescriptor("full/etool16/loading1.gif"); //$NON-NLS-1$ - loadingTwo = J2EENavigatorPlugin.getDefault().getImageDescriptor("full/etool16/loading2.gif"); //$NON-NLS-1$ - loadingThree = J2EENavigatorPlugin.getDefault().getImageDescriptor("full/etool16/loading3.gif"); //$NON-NLS-1$ - loadingFour = J2EENavigatorPlugin.getDefault().getImageDescriptor("full/etool16/loading4.gif"); //$NON-NLS-1$ - } catch (RuntimeException e) { - String msg = e.getMessage() != null ? e.getMessage() : e.toString(); - J2EENavigatorPlugin.logError(0, msg, e); - loadingOne = ImageDescriptor.getMissingImageDescriptor(); - loadingTwo = ImageDescriptor.getMissingImageDescriptor(); - loadingThree = ImageDescriptor.getMissingImageDescriptor(); - loadingFour = ImageDescriptor.getMissingImageDescriptor(); - } - } - - private String text; - private String text1; - private String text2; - private String text3; - private int count = 0; - - private boolean disposed = false; - private IProject modelProject; - - - /** - * Return a place holder node to sit in the tree until data is available. - * This place holder node will be animated for the user's enjoyment. - * - * @param modelFile The modelFile to be loaded - * @return A new unique place holder for this file for a given load cycle - */ - public static LoadingDDNode createPlaceHolder(IProject modelFile) { - LoadingDDNode node = null; - synchronized (LoadingDDNode.class) { - if(placeHolders.containsKey(modelFile)) - node = (LoadingDDNode) placeHolders.get(modelFile); - else - placeHolders.put(modelFile, node = new LoadingDDNode(modelFile)); - } - return node; - } - - public LoadingDDNode(IProject model) { - text = NLS.bind(Messages.LoadingDDNode_Loading_0_, model.getName()); - text1 = text + "."; //$NON-NLS-1$ - text2 = text + ".."; //$NON-NLS-1$ - text3 = text + "..."; //$NON-NLS-1$ - modelProject = model; - } - - public String getText() { - - switch ( count % 4) { - case 0 : - return text; - case 1 : - return text1; - case 2 : - return text2; - case 3 : - default : - return text3; - } - } - - public Image getImage() { - switch ( count = (++count % 4)) { - case 0 : - return J2EENavigatorPlugin.getDefault().getImage(loadingOne); - case 1 : - return J2EENavigatorPlugin.getDefault().getImage(loadingTwo); - case 2 : - return J2EENavigatorPlugin.getDefault().getImage(loadingThree); - case 3 : - default : - return J2EENavigatorPlugin.getDefault().getImage(loadingFour); - } - } - - - - public boolean isDisposed() { - return disposed; - } - - public void dispose() { - synchronized (LoadingDDNode.class) { - disposed = true; - placeHolders.remove(modelProject); - loadingFiles.remove(modelProject); - } - } - - /** - * Employ a Test and Set (TST) primitive to ensure - * that only job is spawned to load the model file - * - * - * @return True only if no other jobs are trying to load this model. - */ - public static boolean canBeginLoading(IProject modelProject) { - synchronized (LoadingDDNode.class) { - if(loadingFiles.contains(modelProject)) - return false; - loadingFiles.add(modelProject); - return true; - } - - } - - /** - * Return true if a job has requested permission to load the model file - * @param modelFile The model file that should be loaded - * @return True only if a job is trying to load the model. - */ - public static boolean isBeingLoaded(IProject modelProject) { - synchronized (LoadingDDNode.class) { - return loadingFiles.contains(modelProject); - } - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/LoadingDDUIJob.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/LoadingDDUIJob.java deleted file mode 100644 index 29eab0b4f..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/LoadingDDUIJob.java +++ /dev/null @@ -1,45 +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.j2ee.navigator.internal; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jface.viewers.StructuredViewer; -import org.eclipse.ui.progress.UIJob; - -public class LoadingDDUIJob extends UIJob { - - private static final long DELAY = 200; - - private LoadingDDNode placeHolder; - private StructuredViewer viewer; - - public LoadingDDUIJob(StructuredViewer viewer, LoadingDDNode placeHolder) { - super(placeHolder.getText()); - this.viewer = viewer; - this.placeHolder = placeHolder; - setSystem(true); - setRule(new NonConflictingRule()); - } - - @Override - public IStatus runInUIThread(IProgressMonitor monitor) { - - if(!placeHolder.isDisposed()) { - viewer.refresh(placeHolder, true); - schedule(DELAY); - } - return Status.OK_STATUS; - - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/NonConflictingRule.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/NonConflictingRule.java deleted file mode 100644 index a02990cd8..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/NonConflictingRule.java +++ /dev/null @@ -1,27 +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 org.eclipse.core.runtime.jobs.ISchedulingRule; - -public class NonConflictingRule implements ISchedulingRule { - - public static final NonConflictingRule INSTANCE = new NonConflictingRule(); - - public boolean contains(ISchedulingRule rule) { - return rule == this; - } - - public boolean isConflicting(ISchedulingRule rule) { - return rule == this; - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/NonFlexibleEMFModelManager.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/NonFlexibleEMFModelManager.java deleted file mode 100644 index 69a004912..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/NonFlexibleEMFModelManager.java +++ /dev/null @@ -1,130 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 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 - *******************************************************************************/ -/* - * Created on Feb 17, 2005 - */ -package org.eclipse.jst.j2ee.navigator.internal; - -import org.eclipse.core.resources.IProject; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel; -import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelEvent; -import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelListener; - -public class NonFlexibleEMFModelManager extends EMFModelManager implements EditModelListener{ - - private EditModel editModel; - private Object rootObject; - private static final Object[] EMPTY_OBJECT = new Object[0]; - /** - * @param aProject - * @param provider - */ - public NonFlexibleEMFModelManager(IProject aProject, EMFRootObjectProvider provider) { - super(aProject, provider); - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.navigator.internal.EMFModelManager#getModels() - */ - @Override - public Object[] getModels() { - if (getProject() == null || !getProject().isAccessible()) - return EMPTY_OBJECT; - - //synchronized (rootObject) { - if (rootObject == null || ((EObject) rootObject).eResource() == null) { - EditModel editModel = getEditModel(); - if (editModel != null) { - rootObject = editModel.getPrimaryRootObject(); - } - } - //} - if (rootObject==null) - return EMPTY_OBJECT; - Object[] objects = new Object[1]; - objects[0] = rootObject; - return objects; - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.navigator.internal.EMFModelManager#dispose() - */ - @Override - public void dispose() { - if (editModel != null) { - editModel.removeListener(this); - editModel.releaseAccess(this); - editModel = null; - } - } - - /* (non-Javadoc) - * @see org.eclipse.wst.common.internal.emfworkbench.integration.EditModelListener#editModelChanged(org.eclipse.wst.common.internal.emfworkbench.integration.EditModelEvent) - */ - public void editModelChanged(EditModelEvent anEvent) { - IProject affectedProject = anEvent.getEditModel().getProject(); - switch (anEvent.getEventCode()) { - case EditModelEvent.UNLOADED_RESOURCE : - case EditModelEvent.REMOVED_RESOURCE : - if (rootObject != null){ - notifyListeners(affectedProject); - } - break; - case EditModelEvent.SAVE : { - if (rootObject == null) - notifyListeners(affectedProject); - } - break; - case EditModelEvent.PRE_DISPOSE : - dispose(); - break; - default : - break; - } - - } - - - - protected EditModel getEditModel() { - IProject project = getProject(); - if (project == null) - return null; - - //TODO fix up - //synchronized (editModel) { -// if (editModel == null && project.isAccessible()) { -// //System.out.println("getEditModelForProject " + project.getName()); -// J2EENature nature = J2EENature.getRegisteredRuntime(project); -// if (nature != null) { -// editModel = nature.getJ2EEEditModelForRead(this); -// if (editModel != null) { -// editModel.addListener(this); -// } -// } -// } - //} - return editModel; - } - - protected void disposeCache(IProject affectedProject) { - //synchronized (editModel) { - if (editModel != null) { - editModel.removeListener(this); - editModel.releaseAccess(this); - editModel = null; - } - //} - } - - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/WebResourcePropertyTester.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/WebResourcePropertyTester.java deleted file mode 100644 index 4553f5098..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/WebResourcePropertyTester.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.eclipse.jst.j2ee.navigator.internal; - -import org.eclipse.core.expressions.PropertyTester; -import org.eclipse.core.resources.IResource; -import org.eclipse.jst.j2ee.project.WebUtilities; - -public class WebResourcePropertyTester extends PropertyTester { - - private static final String WEB_RESOURCE = "webResource"; //$NON-NLS-1$ - - public WebResourcePropertyTester() { - } - - public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { - if (!(receiver instanceof IResource)) - return false; - - IResource resource = (IResource) receiver; - if (WEB_RESOURCE.equals(property)) { - return WebUtilities.isWebResource(resource); - } - - return false; - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddExternalUtilityJarDropAction.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddExternalUtilityJarDropAction.java deleted file mode 100644 index 9afcaab3d..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddExternalUtilityJarDropAction.java +++ /dev/null @@ -1,51 +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.dnd; - -import org.eclipse.swt.dnd.TransferData; -import org.eclipse.ui.navigator.CommonDropAdapter; -import org.eclipse.ui.navigator.resources.ResourceDropAdapterAssistant; - -/** - * @author mdelder - * - */ -public class AddExternalUtilityJarDropAction extends ResourceDropAdapterAssistant { - - /* - * (non-Javadoc) - * - * @see org.eclipse.ui.workbench.navigator.dnd.ResourceDropAction#validateDrop(org.eclipse.wst.common.navigator.internal.views.navigator.dnd.CommonNavigatorDropAdapter, - * java.lang.Object, int, org.eclipse.swt.dnd.TransferData) - */ - public boolean validateDrop(CommonDropAdapter dropAdapter, Object target, int operation, TransferData transferType) { - //TODO redo with components -// if (FileTransfer.getInstance().isSupportedType(transferType)) { -// IProject project = (IProject) AdaptabilityUtility.getAdapter(target, IProject.class); -// try { -// if (project.hasNature(IEARNatureConstants.NATURE_ID)) { -// String[] sourceNames = (String[]) FileTransfer.getInstance().nativeToJava(transferType); -// if (sourceNames == null) -// return true; -// -// boolean result = true; -// for (int i = 0; i < sourceNames.length; i++) -// if (!(result = sourceNames[0].endsWith(".jar")))break; //$NON-NLS-1$ -// return result; -// } -// return false; -// } catch (CoreException e) { -// return false; -// } -// } - return false; - } -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddProjectToEARDropAssistant.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddProjectToEARDropAssistant.java deleted file mode 100644 index f586e8cbb..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddProjectToEARDropAssistant.java +++ /dev/null @@ -1,316 +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.j2ee.navigator.internal.dnd; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.commands.operations.IUndoableOperation; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.jem.util.emf.workbench.ProjectUtilities; -import org.eclipse.jface.util.LocalSelectionTransfer; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jst.j2ee.application.internal.operations.AddComponentToEnterpriseApplicationDataModelProvider; -import org.eclipse.jst.j2ee.application.internal.operations.IAddComponentToEnterpriseApplicationDataModelProperties; -import org.eclipse.jst.j2ee.internal.common.J2EEVersionUtil; -import org.eclipse.jst.j2ee.internal.navigator.ui.Messages; -import org.eclipse.jst.j2ee.internal.plugin.IJ2EEModuleConstants; -import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities; -import org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider; -import org.eclipse.jst.j2ee.navigator.internal.plugin.J2EENavigatorPlugin; -import org.eclipse.jst.j2ee.project.EarUtilities; -import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities; -import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.dnd.DropTargetEvent; -import org.eclipse.swt.dnd.TransferData; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.navigator.CommonDropAdapter; -import org.eclipse.ui.navigator.CommonDropAdapterAssistant; -import org.eclipse.ui.part.PluginTransfer; -import org.eclipse.ui.progress.IProgressService; -import org.eclipse.wst.common.componentcore.ComponentCore; -import org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties; -import org.eclipse.wst.common.componentcore.resources.IVirtualComponent; -import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory; -import org.eclipse.wst.common.frameworks.datamodel.IDataModel; -import org.eclipse.wst.common.project.facet.core.IFacetedProject; -import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion; -import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager; - -public class AddProjectToEARDropAssistant extends CommonDropAdapterAssistant { - - private static final Class IPROJECT_CLASS = IProject.class; - - public AddProjectToEARDropAssistant() { - super(); - } - - @Override - public boolean isSupportedType(TransferData aTransferType) { - return LocalSelectionTransfer.getTransfer().isSupportedType(aTransferType); - } - - @Override - public IStatus handleDrop(CommonDropAdapter aDropAdapter, DropTargetEvent aDropTargetEvent, final Object aTarget) { - - if (LocalSelectionTransfer.getTransfer().isSupportedType(aDropAdapter.getCurrentTransfer())) { - - final IStructuredSelection selection = (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection(); - IProgressService service = PlatformUI.getWorkbench().getProgressService(); - - IProject earProject = getProject(aTarget); - IVirtualComponent earComponent = ComponentCore.createComponent(earProject); - - Job addProjectToEarJob = new Job(getJobTitle(earComponent)) { - @Override - protected IStatus run(IProgressMonitor monitor) { - - IStatus status = null; - try { - IProject earProject = getProject(aTarget); - - List projects = new ArrayList(); - - for (Iterator selectionIterator = selection.iterator(); selectionIterator.hasNext();) { - Object sourceObject = selectionIterator.next(); - - IProject projectToAdd = getProject(sourceObject); - if (projectToAdd != null) - projects.add(projectToAdd); - } - - IDataModel dataModel = getAddModuleDataModel(earProject, projects); - IUndoableOperation dropOperation = dataModel.getDefaultOperation(); - status = dropOperation.execute(monitor, null); - - if (!status.isOK()) - return status; - } catch (ExecutionException e) { - String msg = e.getMessage() != null ? e.getMessage() : e.toString(); - status = J2EENavigatorPlugin.createErrorStatus(0, msg, e); - } - return status; - } - }; - service.showInDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), addProjectToEarJob); - addProjectToEarJob.setRule(ResourcesPlugin.getWorkspace().getRoot()); - addProjectToEarJob.schedule(); - } - return Status.OK_STATUS; - } - - @Override - public IStatus validateDrop(Object target, int operation, TransferData transferType) { - - if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType) || PluginTransfer.getInstance().isSupportedType(transferType)) { - ISelection selection = LocalSelectionTransfer.getTransfer().getSelection(); - if (selection != null && !selection.isEmpty() && (selection instanceof IStructuredSelection)) { - - IStructuredSelection structuredSelection = (IStructuredSelection) selection; - IProject earProject = getProject(target); - int earVersion = getEarVersion(earProject); - IStatus status = null; - for(Iterator iterator = structuredSelection.iterator(); iterator.hasNext();) { - Object next = iterator.next(); - IProject projectToAdd = getProject(next); - if( (status = validateProjectMayBeAdded(earProject, projectToAdd, earVersion)).isOK()) - return status; - } - } - - } - return Status.CANCEL_STATUS; - } - - /** - * @param target - */ - private IStatus validateProjectMayBeAdded(IProject earProject, IProject projectToAdd, int earVersion) { - - if (earProject == null || projectToAdd == null || earVersion < 0) - return J2EENavigatorPlugin.createErrorStatus(0, Messages.AddProjectToEARDropAssistant_Could_not_add_module_to_Enterprise_, null); - else if (!earProject.isAccessible()) { - return J2EENavigatorPlugin.createErrorStatus(0, NLS.bind(Messages.AddProjectToEARDropAssistant_The_project_0_cannot_be_accesse_, earProject.getName()), null); - } else if (!projectToAdd.isAccessible()) { - return J2EENavigatorPlugin.createErrorStatus(0, Messages.AddProjectToEARDropAssistant_The_dragged_project_cannot_be_added_, null); - } - else if (earVersion > 14){ - return J2EENavigatorPlugin.createErrorStatus(0, Messages.AddProjectToEARDropAssistant_Could_not_add_module_to_Enterprise_, null); - } - - IStatus isValid = validateProjectToAdd(projectToAdd, earVersion); - if (!isValid.isOK()) { - return isValid; - } - // TODO Check if the project is already attached to the *.ear - // if (editModel.hasMappingToProject(projectToAdd)) { - // return false; - // } - return Status.OK_STATUS; - } - - /** - * - * @return -1 on error - */ - protected final int getEarVersion(IProject earProject) { - int earVersion = -1; - - IFacetedProject facetedProject; - try { - facetedProject = ProjectFacetsManager.create(earProject); - IProjectFacetVersion version = facetedProject.getProjectFacetVersion(EarUtilities.ENTERPRISE_APPLICATION_FACET); - earVersion = J2EEVersionUtil.convertVersionStringToInt(version.getVersionString()); - } catch (CoreException e) { - //nothing to do version cannot be determined since there is a problem with faceted project. - J2EENavigatorPlugin.logError(0, e.getMessage(), e); - } - return earVersion; - } - - /** - * @param facetedProject - * @return - */ - protected final boolean hasEarFacet(IProject project) { - IFacetedProject facetedProject = null; - try { - facetedProject = ProjectFacetsManager.create(project); - } catch (CoreException e1) { - } - return facetedProject != null && facetedProject.hasProjectFacet(IJ2EEFacetConstants.ENTERPRISE_APPLICATION_FACET); - } - - protected final String calculateValidProjectName(final String originalName) { - - IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); - String validName = originalName; - int count = 1; - while (root.getProject(validName).exists()) { - validName = originalName + count++; - } - return validName; - } - - protected IDataModel getAddModuleDataModel(IProject earProject, List projects) { - IDataModel datamodel = DataModelFactory.createDataModel(new AddComponentToEnterpriseApplicationDataModelProvider()); - - IVirtualComponent earComponent = ComponentCore.createComponent(earProject); - Map componentToURIMap = new HashMap(); - List components = new ArrayList(); - IVirtualComponent moduleComponent = null; - for(Iterator itr = projects.iterator(); itr.hasNext(); ) { - moduleComponent = ComponentCore.createComponent((IProject)itr.next()); - components.add(moduleComponent); - componentToURIMap.put(moduleComponent, getDefaultURI(moduleComponent)); - } - datamodel.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, earComponent); - datamodel.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, components); - datamodel.setProperty(IAddComponentToEnterpriseApplicationDataModelProperties.TARGET_COMPONENTS_TO_URI_MAP, componentToURIMap); - return datamodel; - } - - protected String getJobTitle(IVirtualComponent earComponent) { - return NLS.bind(Messages.AddModuleToEarDropAssistant_Adding_module_to_ea_, earComponent.getName()); - } - - protected IStatus validateProjectToAdd(IProject projectToAdd, int earVersion) { - IStatus status = null; - try { - // check if the project to add is not an EAR itself - IFacetedProject facetedProject = ProjectFacetsManager.create(projectToAdd); - if( facetedProject.hasProjectFacet(IJ2EEFacetConstants.ENTERPRISE_APPLICATION_FACET) ) - status = Status.CANCEL_STATUS; - else - status = Status.OK_STATUS; - - // check if the project to add is with Java EE version equal or lesser than that of the EAR - String verStr = J2EEProjectUtilities.getJ2EEProjectVersion(projectToAdd); - if (verStr != null) { - int version; - if (JavaEEProjectUtilities.isApplicationClientProject(projectToAdd)) - version = J2EEVersionUtil.convertAppClientVersionStringToJ2EEVersionID(verStr); - else if (JavaEEProjectUtilities.isEJBProject(projectToAdd)) - version = J2EEVersionUtil.convertEJBVersionStringToJ2EEVersionID(verStr); - else if (JavaEEProjectUtilities.isDynamicWebProject(projectToAdd)) - version = J2EEVersionUtil.convertWebVersionStringToJ2EEVersionID(verStr); - else if (JavaEEProjectUtilities.isJCAProject(projectToAdd)) - version = J2EEVersionUtil.convertConnectorVersionStringToJ2EEVersionID(verStr); - else - version = J2EEVersionUtil.convertVersionStringToInt(verStr); - - if (version > earVersion) - status = Status.CANCEL_STATUS; - else - status = Status.OK_STATUS; - } - } catch (CoreException e) { - String msg = e.getMessage() != null ? e.getMessage() : e.toString(); - status = J2EENavigatorPlugin.createErrorStatus(0, msg, e); - } - return status; - - } - - protected static IProject getProject(Object element) { - if (element == null) - return null; - IProject project = null; - if (element instanceof IAdaptable) - project = (IProject) ((IAdaptable) element).getAdapter(IPROJECT_CLASS); - else - project = (IProject) Platform.getAdapterManager().getAdapter(element, IPROJECT_CLASS); - if (project == null) { - if(element instanceof EObject) { - project = ProjectUtilities.getProject((EObject) element); - } else if (element instanceof J2EEItemProvider) { - IFile associatedFile = ((J2EEItemProvider)element).getAssociatedFile(); - if(associatedFile != null) - project = associatedFile.getProject(); - } - } - return project; - } - - protected static String getDefaultURI(IVirtualComponent component) { - IProject project = component.getProject(); - String name = component.getName(); - - if (JavaEEProjectUtilities.isDynamicWebProject(project)) { - name += IJ2EEModuleConstants.WAR_EXT; - } else if (JavaEEProjectUtilities.isEARProject(project)) { - name += IJ2EEModuleConstants.EAR_EXT; - } else if (JavaEEProjectUtilities.isJCAProject(project)) { - name += IJ2EEModuleConstants.RAR_EXT; - } else { - name += IJ2EEModuleConstants.JAR_EXT; - } - return name; - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/IModuleExtensions.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/IModuleExtensions.java deleted file mode 100644 index e0af2782e..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/IModuleExtensions.java +++ /dev/null @@ -1,24 +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.dnd; - -import org.eclipse.jst.j2ee.internal.plugin.IJ2EEModuleConstants; - -//@deprecated @see org.eclipse.jst.j2ee.internal.plugin.IJ2EEModuleConstants - -public interface IModuleExtensions { - - public String DOT_WAR = IJ2EEModuleConstants.WAR_EXT; - public String DOT_JAR = IJ2EEModuleConstants.JAR_EXT; - public String DOT_RAR = IJ2EEModuleConstants.RAR_EXT; - public String DOT_EAR = IJ2EEModuleConstants.EAR_EXT; - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/ImportJ2EEModuleDropAssistant.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/ImportJ2EEModuleDropAssistant.java deleted file mode 100644 index bf3d67905..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/ImportJ2EEModuleDropAssistant.java +++ /dev/null @@ -1,209 +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.j2ee.navigator.internal.dnd; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.commands.operations.IUndoableOperation; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.MultiStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.jst.j2ee.application.internal.operations.EARComponentImportDataModelProvider; -import org.eclipse.jst.j2ee.applicationclient.internal.creation.AppClientComponentImportDataModelProvider; -import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive; -import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory; -import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEComponentImportDataModelProperties; -import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBComponentImportDataModelProvider; -import org.eclipse.jst.j2ee.internal.jca.operations.ConnectorComponentImportDataModelProvider; -import org.eclipse.jst.j2ee.internal.navigator.ui.Messages; -import org.eclipse.jst.j2ee.internal.plugin.IJ2EEModuleConstants; -import org.eclipse.jst.j2ee.internal.web.archive.operations.WebComponentImportDataModelProvider; -import org.eclipse.jst.j2ee.navigator.internal.plugin.J2EENavigatorPlugin; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.dnd.DropTargetEvent; -import org.eclipse.swt.dnd.FileTransfer; -import org.eclipse.swt.dnd.TransferData; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.actions.CopyFilesAndFoldersOperation; -import org.eclipse.ui.navigator.CommonDropAdapter; -import org.eclipse.ui.progress.IProgressService; -import org.eclipse.wst.common.componentcore.resources.IVirtualComponent; -import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory; -import org.eclipse.wst.common.frameworks.datamodel.IDataModel; - -public class ImportJ2EEModuleDropAssistant extends AddProjectToEARDropAssistant { - - @Override - public boolean isSupportedType(TransferData aTransferType) { - return FileTransfer.getInstance().isSupportedType(aTransferType); - } - - @Override - public IStatus handleDrop(CommonDropAdapter aDropAdapter, final DropTargetEvent aDropTargetEvent, final Object aTarget) { - - if(FileTransfer.getInstance().isSupportedType(aDropAdapter.getCurrentTransfer())) { - - final Shell shell = getShell(); - - IProgressService service = PlatformUI.getWorkbench().getProgressService(); - Job importArtifactsJob = new Job(Messages.ImportJ2EEModuleDropAssistant_Importing_Java_Enterprise_Edition_artifacts) { - @Override - protected IStatus run(IProgressMonitor monitor) { - - IProject targetEARProject = getProject(aTarget); - if(targetEARProject != null) { - /* If this isn't an ear project, we can't add the newly created modules to it. */ - if(!hasEarFacet(targetEARProject)) - targetEARProject = null; - } /* otherwise we assume the IWorkspaceRoot and just don't add the new modules an an existing ear */ - - String[] names = (String[]) aDropTargetEvent.data; - - monitor.beginTask(Messages.ImportJ2EEModuleDropAssistant_Importing_Java_Enterprise_Edition_artifacts, names.length); - final MultiStatus status = new MultiStatus(J2EENavigatorPlugin.PLUGIN_ID, 0, Messages.ImportJ2EEModuleDropAssistant_Importing_Java_Enterprise_Edition_artifacts, null); - - SubProgressMonitor submonitor = new SubProgressMonitor(monitor, 10); - IDataModel importDataModel = null; - boolean performSimpleJarCopy = false; - List simpleJarsToCopyList = null; - IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); - List createdComponents = new ArrayList(); - for(int i=0; i<names.length && !monitor.isCanceled(); i++) { - try { - importDataModel = null; - performSimpleJarCopy = false; - int separatorIndex = names[i].lastIndexOf(File.separatorChar); - int dotIndex = names[i].lastIndexOf('.'); - if(separatorIndex > 0 && separatorIndex+1 < dotIndex) { - String filename = names[i].substring(separatorIndex+1, dotIndex); - if(root.getProject(filename).exists()) { - filename = calculateValidProjectName(filename); - } - String extension = names[i].substring(dotIndex); - if(IJ2EEModuleConstants.WAR_EXT.equals(extension)) { - importDataModel = DataModelFactory.createDataModel(new WebComponentImportDataModelProvider()); - } else if(IJ2EEModuleConstants.RAR_EXT.equals(extension)) { - importDataModel = DataModelFactory.createDataModel(new ConnectorComponentImportDataModelProvider()); - } else if(IJ2EEModuleConstants.EAR_EXT.equals(extension)) { - importDataModel = DataModelFactory.createDataModel(new EARComponentImportDataModelProvider()); - } else if(IJ2EEModuleConstants.JAR_EXT.equals(extension)) { - Archive archive = null; - try { - archive = CommonarchiveFactory.eINSTANCE.openArchive(names[i]); - if(archive.isApplicationClientFile()) - importDataModel = DataModelFactory.createDataModel(new AppClientComponentImportDataModelProvider()); - else if(archive.isEJBJarFile()) - importDataModel = DataModelFactory.createDataModel(new EJBComponentImportDataModelProvider()); - else { - performSimpleJarCopy = true; //handle Utility jars as regular jars. - if(simpleJarsToCopyList == null){ - simpleJarsToCopyList = new ArrayList(); - simpleJarsToCopyList.add(names[i]); - } - } - - } finally { - if(archive != null) - archive.close(); - } - } - - if(importDataModel != null) { - importDataModel.setStringProperty(IJ2EEComponentImportDataModelProperties.FILE_NAME, names[i]); - importDataModel.setStringProperty(IJ2EEComponentImportDataModelProperties.PROJECT_NAME, filename); - importDataModel.getDefaultOperation().execute(submonitor, null); - - createdComponents.add(importDataModel.getProperty(IJ2EEComponentImportDataModelProperties.COMPONENT)); - - } else if(!performSimpleJarCopy){ - status.add(J2EENavigatorPlugin.createErrorStatus(0, NLS.bind(Messages.ImportJ2EEModuleDropAssistant_Could_not_recognize_extension_0_, extension), null)); - } - - } - } catch (Throwable e) { - String msg = e.getMessage() != null ? e.getMessage() : e.toString(); - status.add(J2EENavigatorPlugin.createErrorStatus(0, msg, e)); - } - } - - if(targetEARProject != null) { - List createdModuleProjects = new ArrayList(); - for(int i=0; i<createdComponents.size(); i++) { - IVirtualComponent component = (IVirtualComponent) createdComponents.get(i); - /* If this isn't an ear project, we can't add the newly created modules to it. */ - if(!hasEarFacet(component.getProject())) { - createdModuleProjects.add(component.getProject()); - } - } - IDataModel dataModel = getAddModuleDataModel(targetEARProject, createdModuleProjects); - IUndoableOperation dropOperation = dataModel.getDefaultOperation(); - IStatus addProjectsStatus = null; - try { - addProjectsStatus = dropOperation.execute(monitor, null); - if(addProjectsStatus != null) - status.add(addProjectsStatus); - } catch (ExecutionException e) { - String msg = e.getMessage() != null ? e.getMessage() : e.toString(); - status.add(J2EENavigatorPlugin.createErrorStatus(0, msg, null)); - } - //copy the simpleJarsOver - if(simpleJarsToCopyList != null ){ - try{ - final String [] jarsToCopyArray = new String[simpleJarsToCopyList.size()]; - simpleJarsToCopyList.toArray(jarsToCopyArray); - - CopyFilesAndFoldersOperation operation = new CopyFilesAndFoldersOperation(shell); - operation.copyFilesInCurrentThread(jarsToCopyArray, targetEARProject, monitor); - }catch (Throwable e) { - String msg = e.getMessage() != null ? e.getMessage() : e.toString(); - status.add(J2EENavigatorPlugin.createErrorStatus(0, msg, e)); - } - } - } - - return status; - } - - }; - - service.showInDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), importArtifactsJob); - importArtifactsJob.setRule(ResourcesPlugin.getWorkspace().getRoot()); - importArtifactsJob.schedule(); - return Status.OK_STATUS; - } - return Status.CANCEL_STATUS; - } - - - @Override - public IStatus validateDrop(Object target, int operation, TransferData transferType) { - IStatus status = Status.CANCEL_STATUS; - if(FileTransfer.getInstance().isSupportedType(transferType)) { - IProject project = null; - if(target instanceof IWorkspaceRoot) - status = Status.OK_STATUS; - else if( (project = getProject(target)) != null && hasEarFacet(project)) - status = Status.OK_STATUS; - } - return status; - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/ModuleIdentifierSerializer.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/ModuleIdentifierSerializer.java deleted file mode 100644 index 173c287c8..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/ModuleIdentifierSerializer.java +++ /dev/null @@ -1,48 +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.dnd; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.wst.common.frameworks.internal.AdaptabilityUtility; - - - -/** - * @author mdelder - * - */ -public class ModuleIdentifierSerializer { - - - /* - * (non-Javadoc) - * - * @see org.eclipse.wst.common.navigator.internal.views.navigator.dnd.ISerializer#toByteArray(java.lang.Object) - */ - public byte[] toByteArray(Object data) { - IProject project = (IProject) AdaptabilityUtility.getAdapter(data, IProject.class); - if (project != null) - return project.getName().getBytes(); - return null; - } - - - /* - * (non-Javadoc) - * - * @see org.eclipse.wst.common.navigator.internal.views.navigator.dnd.ISerializer#fromByteArray(byte[]) - */ - public Object fromByteArray(byte[] data) { - String name = new String(data); - return ResourcesPlugin.getWorkspace().getRoot().getProject(name); - } -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/plugin/J2EENavigatorPlugin.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/plugin/J2EENavigatorPlugin.java deleted file mode 100644 index 5662e7862..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/plugin/J2EENavigatorPlugin.java +++ /dev/null @@ -1,187 +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.j2ee.navigator.internal.plugin; - -import java.net.URL; -import java.util.Collections; - -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Status; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; -import org.eclipse.core.runtime.Platform; -import java.lang.Throwable; -import org.eclipse.core.runtime.CoreException; - -/** - * The main plugin class to be used in the desktop. - */ -public class J2EENavigatorPlugin extends AbstractUIPlugin { - //The shared instance. - private static J2EENavigatorPlugin plugin; - public static final String PLUGIN_ID = "org.eclipse.jst.j2ee.navigator.ui"; //$NON-NLS-1$ - private static final String ICONS = "icons/"; //$NON-NLS-1$ - - private ImageRegistry images; - - - /** - * The constructor. - */ - public J2EENavigatorPlugin() { - super(); - plugin = this; - } - - /** - * Returns the shared instance. - */ - public static J2EENavigatorPlugin getDefault() { - return plugin; - } - - /** - * Returns the workspace instance. - */ - public static IWorkspace getWorkspace() { - return ResourcesPlugin.getWorkspace(); - } - - @Override - public void start(BundleContext context) throws Exception { - super.start(context); - images = new ImageRegistry(Display.getDefault()); - } - - public ImageDescriptor getImageDescriptor(String relativePath) { - ImageDescriptor descriptor = images.getDescriptor(relativePath); - if(descriptor == null) { - synchronized (this) { - descriptor = images.getDescriptor(relativePath); - if(descriptor == null) { - URL imageUrl = FileLocator.find(getBundle(), new Path(ICONS+relativePath), Collections.EMPTY_MAP); - descriptor = ImageDescriptor.createFromURL(imageUrl); - } - } - } - return descriptor; - } - - - public Image getImage(ImageDescriptor descriptor) { - - Image image = images.get(descriptor.toString()); - if(image == null) { - synchronized (this) { - image = images.get(descriptor.toString()); - if(image == null) { - images.put(descriptor.toString(), (image = descriptor.createImage(true))); - } - } - } - return image; - } - - @Override - public void stop(BundleContext context) throws Exception { - super.stop(context); - images.dispose(); - } - - - /** - * Record an error against this plugin's log. - * - * @param aCode - * @param aMessage - * @param anException - */ - public static void logError(int aCode, String aMessage, - Throwable anException) { - getDefault().getLog().log( - createErrorStatus(aCode, aMessage, anException)); - } - - /** - * - * Record a message against this plugin's log. - * - * @param severity - * @param aCode - * @param aMessage - * @param exception - */ - public static void log(int severity, int aCode, String aMessage, - Throwable exception) { - log(createStatus(severity, aCode, aMessage, exception)); - } - - /** - * - * Record a status against this plugin's log. - * - * @param aStatus - */ - public static void log(IStatus aStatus) { - getDefault().getLog().log(aStatus); - } - - /** - * Create a status associated with this plugin. - * - * @param severity - * @param aCode - * @param aMessage - * @param exception - * @return A status configured with this plugin's id and the given parameters. - */ - public static IStatus createStatus(int severity, int aCode, - String aMessage, Throwable exception) { - return new Status(severity, PLUGIN_ID, aCode, - aMessage != null ? aMessage : "No message.", exception); //$NON-NLS-1$ - } - - /** - * - * @param aCode - * @param aMessage - * @param exception - * @return A status configured with this plugin's id and the given parameters. - */ - public static IStatus createErrorStatus(int aCode, String aMessage, - Throwable exception) { - return createStatus(IStatus.ERROR, aCode, aMessage, exception); - } - - public static IStatus createStatus(int severity, String message, Throwable exception) { - return new Status(severity, PLUGIN_ID, message, exception); - } - - public static IStatus createStatus(int severity, String message) { - return createStatus(severity, message, null); - } - - public static void logError(Throwable exception) { - Platform.getLog(Platform.getBundle(PLUGIN_ID)).log( createStatus(IStatus.ERROR, exception.getMessage(), exception)); - } - - public static void logError(CoreException exception) { - Platform.getLog(Platform.getBundle(PLUGIN_ID)).log( exception.getStatus() ); - } -} |