diff options
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator')
30 files changed, 0 insertions, 3492 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 0d81cd19a..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/ApplicationViewerSorter.java +++ /dev/null @@ -1,31 +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(); - } - - 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 c1ff1c41e..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/ClearPlaceHolderJob.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; - -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()); - } - - public IStatus runInUIThread(IProgressMonitor monitor) { - - try { - viewer.getControl().setRedraw(false); - viewer.remove(placeHolder); - viewer.add(parent, children); - } finally { - 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 845cdc594..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; -import org.eclipse.jst.j2ee.internal.earcreation.modulemap.ModulemapPackage; - -/** - * 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. - */ - 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)&&!emfPackage.equals(ModulemapPackage.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 e42c31e7f..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFModelManager.java +++ /dev/null @@ -1,53 +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 - * - * TODO To change the template for this generated file go to - * Window - Preferences - Java - Code Style - Code Templates - */ -package org.eclipse.jst.j2ee.navigator.internal; - -import org.eclipse.core.resources.IProject; - -/** - * @author Admin - * - * TODO To change the template for this generated type comment go to - * Window - Preferences - Java - Code Style - Code Templates - */ -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 bbbda1414..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFModelManagerFactory.java +++ /dev/null @@ -1,38 +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 - * - * TODO To change the template for this generated file go to - * Window - Preferences - Java - Code Style - Code Templates - */ -package org.eclipse.jst.j2ee.navigator.internal; - -import org.eclipse.core.resources.IProject; -import org.eclipse.wst.common.componentcore.ModuleCoreNature; - -/** - * @author Admin - * - * TODO To change the template for this generated type comment go to - * Window - Preferences - Java - Code Style - Code Templates - */ -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 4efa02b3e..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFRootObjectProvider.java +++ /dev/null @@ -1,173 +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 - * - * TODO To change the template for this generated file go to - * Window - Preferences - Java - Code Style - Code Templates - */ -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; - -/** - * @author Admin - * - * TODO To change the template for this generated type comment go to - * Window - Preferences - Java - Code Style - Code Templates - */ -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 synchronized Object[] getModels(IProject project){ - try { - EMFModelManager modelManager = (EMFModelManager) emfModelCache.get(project); - if (modelManager == null) { - synchronized (emfModelCache) { - modelManager= EMFModelManagerFactory.createEMFModelManager(project,this) ; - emfModelCache.put(project,modelManager); - } - } - return modelManager.getModels(); - } catch (Exception ex) { - //ex.printStackTrace(); - return null; - } - } - - public synchronized boolean hasLoadedModels(IProject project) { - 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 db6c66389..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/FlexibleEMFModelManager.java +++ /dev/null @@ -1,234 +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 - * - * TODO To change the template for this generated file go to - * Window - Preferences - Java - Code Style - Code Templates - */ -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; - -/** - * @author Admin - * - * TODO To change the template for this generated type comment go to - * Window - Preferences - Java - Code Style - Code Templates - */ -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() - */ - 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) { - ex.printStackTrace(); - } - 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){ - e.printStackTrace(); - } - } - } - return artifactEdits; - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.navigator.internal.EMFModelManager#dispose() - */ - 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 57d0b038f..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/IJ2EENavigatorConstants.java +++ /dev/null @@ -1,29 +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 - * - * TODO To change the template for this generated file go to - * Window - Preferences - Java - Code Style - Code Templates - */ -package org.eclipse.jst.j2ee.navigator.internal; - - -/** - * @author mdelder - * - * TODO To change the template for this generated type comment go to Window - Preferences - Java - - * Code Style - Code Templates - */ -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 87f1ee170..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/IJ2EEWizardConstants.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 org.eclipse.jst.ejb.ui.internal.wizard.EJBComponentExportWizard; -import org.eclipse.jst.ejb.ui.internal.wizard.EJBComponentImportWizard; -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; -import org.eclipse.jst.servlet.ui.internal.wizard.WebComponentExportWizard; -import org.eclipse.jst.servlet.ui.internal.wizard.WebComponentImportWizard; - -/** - * <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 = EJBComponentImportWizard.class.getName(); - - String IMPORT_WEB_MODULE_WIZARD_ID = WebComponentImportWizard.class.getName(); - - 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 = EJBComponentExportWizard.class.getName(); - - String EXPORT_WEB_MODULE_WIZARD_ID = WebComponentExportWizard.class.getName(); -} 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 6aaa0aad9..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEActionProvider.java +++ /dev/null @@ -1,134 +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) - */ - 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) - */ - 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) - */ - 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) - */ - 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 33d2ab606..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEComparator.java +++ /dev/null @@ -1,64 +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 - * - * TODO To change the template for this generated file go to Window - Preferences - Java - Code - * Style - Code Templates - */ -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) - */ - public boolean equals(Object obj) { - return obj instanceof J2EEComparator; - } - -}
\ 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 54e9f24c6..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEContentProvider.java +++ /dev/null @@ -1,244 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2006 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.j2ee.navigator.internal; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.jobs.ISchedulingRule; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.edit.provider.ItemProvider; -import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; -import org.eclipse.jem.util.emf.workbench.ProjectUtilities; -import org.eclipse.jface.viewers.AbstractTreeViewer; -import org.eclipse.jface.viewers.ITreeContentProvider; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jst.j2ee.internal.ejb.provider.BeanClassProviderHelper; -import org.eclipse.jst.j2ee.internal.provider.MethodsProviderDelegate; -import org.eclipse.jst.j2ee.navigator.internal.EMFRootObjectProvider.IRefreshHandlerListener; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.navigator.CommonViewer; -import org.eclipse.ui.progress.UIJob; -import org.eclipse.wst.common.internal.emfworkbench.integration.DynamicAdapterFactory; - -/** - * <p> - * The following class is experimental until fully documented. - * </p> - */ -public class J2EEContentProvider implements ITreeContentProvider, IRefreshHandlerListener { - - private static final Class IPROJECT_CLASS = IProject.class; - - private final EMFRootObjectProvider rootObjectProvider; - - private AdapterFactoryContentProvider delegateContentProvider; - private MethodsProviderDelegate delegateMethodsProvider; - - private String viewerId = null; - private AbstractTreeViewer viewer; - - /** - * - */ - public J2EEContentProvider() { - rootObjectProvider = new EMFRootObjectProvider(); - rootObjectProvider.addRefreshHandlerListener(this); - } - - /** - * - */ - public J2EEContentProvider(String aViewerId) { - rootObjectProvider = new EMFRootObjectProvider(); - updateContentProviders(aViewerId); - rootObjectProvider.addRefreshHandlerListener(this); - } - - - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) - */ - public Object[] getElements(Object anInputElement) { - return getChildren(anInputElement); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider#getChildren(java.lang.Object) - */ - public Object[] getChildren(Object aParentElement) { - IProject project = null; - List children = new ArrayList(); - if (aParentElement instanceof IAdaptable && !(aParentElement instanceof EObject) && !(aParentElement instanceof ItemProvider)) { - project = (IProject) ((IAdaptable) aParentElement).getAdapter(IPROJECT_CLASS); - - - // Verify if the model *is being* - // loaded and just return the place holder - if(LoadingDDNode.isBeingLoaded(project)) { - children.add(LoadingDDNode.createPlaceHolder(project)); - - // Verify if the model has been loaded, just return it - } else if (rootObjectProvider.hasLoadedModels(project)) { - /* model already loaded, just return the model */ - children.addAll(Arrays.asList(rootObjectProvider.getModels(project))); - - // Otherwise return a place holder node and start loading job - } else { - LoadingDDNode placeHolder = LoadingDDNode.createPlaceHolder(project); - /* we need to load the model; possible long running operation */ - if(LoadingDDNode.canBeginLoading(project)) - new LoadingDDJob(viewer, placeHolder, (IAdaptable) aParentElement, rootObjectProvider) - .schedule(); - children.add(placeHolder); - } -// if (project != null) { -// LoadingDDNode placeHolder = new LoadingDDNode(project.getName()); -// LoadingDDJob loadJob = new LoadingDDJob(viewer, placeHolder, (IAdaptable) aParentElement, rootObjectProvider); -// loadJob.schedule(); -// children.add(placeHolder); -// } - } else if (MethodsProviderDelegate.providesContentFor(aParentElement)) - return delegateMethodsProvider.getChildren(aParentElement); - else /* if (isEMFEditObject(aParentElement)) */{ - Object[] siblings = delegateContentProvider.getChildren(aParentElement); - if (siblings != null) - children.addAll(Arrays.asList(siblings)); - } - return children.toArray(); - } - - public Object getParent(Object object) { - if (MethodsProviderDelegate.providesContentFor(object)) - return delegateMethodsProvider.getParent(object); - Object parent = delegateContentProvider.getParent(object); - if(parent instanceof Resource) { - parent = ProjectUtilities.getProject((EObject) object); - } else if (parent == null) { - if(object instanceof BeanClassProviderHelper) - parent = ((BeanClassProviderHelper) object).getEjb(); - else if (object instanceof EObject) { - parent = ProjectUtilities.getProject((EObject) object); - } - } - return parent; - } - - /** - * @see org.eclipse.jface.viewers.IContentProvider#dispose() - */ - public void dispose() { - rootObjectProvider.removeRefreshHandlerListener(this); - delegateContentProvider.dispose(); - rootObjectProvider.dispose(); - delegateMethodsProvider.dispose(); - - } - - /* - * @see ITreeContentProvider#hasChildren(Object) - */ - public boolean hasChildren(Object element) { - if (MethodsProviderDelegate.providesContentFor(element)) - return delegateMethodsProvider.hasChildren(element); - /* else if (isEMFEditObject(element)) */ - if(element instanceof ItemProvider) - return true; - return delegateContentProvider.hasChildren(element); - - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, - * java.lang.Object, java.lang.Object) - */ - public void inputChanged(Viewer aViewer, Object anOldInput, Object aNewInput) { - String newViewerId = null; - viewer = (AbstractTreeViewer) aViewer; - if (aViewer instanceof CommonViewer) - newViewerId = ((CommonViewer) aViewer).getNavigatorContentService().getViewerId(); - - if (newViewerId != null && (viewerId == null || !viewerId.equals(newViewerId))) - updateContentProviders(newViewerId); - - delegateContentProvider.inputChanged(aViewer, anOldInput, aNewInput); - delegateMethodsProvider.inputChanged(aViewer, anOldInput, aNewInput); - } - - /** - * @param viewerId2 - */ - private void updateContentProviders(String aViewerId) { - - /* Dispose of the existing content providers */ - if (delegateContentProvider != null) - delegateContentProvider.dispose(); - if (delegateMethodsProvider != null) - delegateMethodsProvider.dispose(); - - /* Create new content providers using the new viewer id */ - DynamicAdapterFactory adapterFactory = new DynamicAdapterFactory(aViewerId); - delegateContentProvider = new AdapterFactoryContentProvider(adapterFactory); - delegateMethodsProvider = new MethodsProviderDelegate(adapterFactory); - - /* Remember the viewer id */ - viewerId = aViewerId; - - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jst.j2ee.navigator.internal.EMFRootObjectManager.IRefreshHandlerListener#onRefresh(java.lang.Object) - */ - public void onRefresh(final Object element) { - if (viewer instanceof AbstractTreeViewer) { - if (Display.getCurrent() != null) { - ((AbstractTreeViewer) viewer).refresh(element, true); - } else { - /* Create and schedule a UI Job to update the Navigator Content Viewer */ - Job job = new UIJob("Update the Navigator Content Viewer Job") { //$NON-NLS-1$ - public IStatus runInUIThread(IProgressMonitor monitor) { - ((AbstractTreeViewer) viewer).refresh(element, true); - return Status.OK_STATUS; - } - }; - ISchedulingRule rule = new ISchedulingRule() { - public boolean contains(ISchedulingRule rule) { - return rule == this; - } - public boolean isConflicting(ISchedulingRule rule) { - return rule == this; - } - }; - if (rule != null) { - job.setRule(rule); - } - job.schedule(); - } - } - } - -} 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 4d3e02933..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EELabelProvider.java +++ /dev/null @@ -1,259 +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); - } else { - 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) - */ - 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() - */ - 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() - */ - 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) { - // TODO Auto-generated method stub - - } - - public void saveState(IMemento aMemento) { - // TODO Auto-generated method stub - - } -} 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 fb9663037..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEProjectDecorator.java +++ /dev/null @@ -1,145 +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; - - /* 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 UTILITY_FACET = "jst.utility"; //$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 ICON_DIR = "icons/full/ovr16"; //$NON-NLS-1$ - - - public J2EEProjectDecorator() { - super(); - } - - public void decorate(Object element, IDecoration decoration) { - - if(element instanceof IJavaProject) { - element = ((IJavaProject)element).getProject(); - } - if (element instanceof IProject) { - - IProject project = (IProject) element; - 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, UTILITY_FACET)) - overlay=null; - - 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 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 e631bef69..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEViewerSorter.java +++ /dev/null @@ -1,84 +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) - */ - 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 8c5685405..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/LoadingDDJob.java +++ /dev/null @@ -1,68 +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()); - } - - 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 99bee87b9..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/LoadingDDNode.java +++ /dev/null @@ -1,159 +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; - -public class LoadingDDNode { - - 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 1ada4ce2d..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/LoadingDDUIJob.java +++ /dev/null @@ -1,44 +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()); - } - - 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 221299c0c..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/NonFlexibleEMFModelManager.java +++ /dev/null @@ -1,141 +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 - * - * TODO To change the template for this generated file go to - * Window - Preferences - Java - Code Style - Code Templates - */ -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; - -/** - * @author Admin - * - * TODO To change the template for this generated type comment go to - * Window - Preferences - Java - Code Style - Code Templates - */ -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); - // TODO Auto-generated constructor stub - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.navigator.internal.EMFModelManager#getModels() - */ - public Object[] getModels() { - // TODO Auto-generated method stub - 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; - else { - Object[] objects = new Object[1]; - objects[0] = rootObject; - return objects; - } - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.navigator.internal.EMFModelManager#dispose() - */ - 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/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 4b2bb5353..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddProjectToEARDropAssistant.java +++ /dev/null @@ -1,309 +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.componentcore.EnterpriseArtifactEdit; -import org.eclipse.jst.j2ee.componentcore.util.EARArtifactEdit; -import org.eclipse.jst.j2ee.internal.common.J2EEVersionUtil; -import org.eclipse.jst.j2ee.internal.navigator.ui.Messages; -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.facet.EARFacetUtils; -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.ProjectFacetsManager; - -public class AddProjectToEARDropAssistant extends CommonDropAdapterAssistant { - - private static final Class IPROJECT_CLASS = IProject.class; - - public AddProjectToEARDropAssistant() { - super(); - } - - public boolean isSupportedType(TransferData aTransferType) { - return LocalSelectionTransfer.getTransfer().isSupportedType(aTransferType); - } - - 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)) { - 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; - } - - 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); - } - - 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; - EnterpriseArtifactEdit earArtifactEdit = EARArtifactEdit.getEARArtifactEditForRead(earProject); - try { - if(earArtifactEdit != null) - earVersion = earArtifactEdit.getJ2EEVersion(); - else { - J2EENavigatorPlugin.logError(0, "Could not acquire model elements for project \""+earProject.getName()+"\".", null); //$NON-NLS-1$ //$NON-NLS-2$ - } - } finally { - if (earArtifactEdit != null) { - earArtifactEdit.dispose(); - } - } - 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(EARFacetUtils.EAR_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(EARFacetUtils.EAR_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 (J2EEProjectUtilities.isApplicationClientProject(projectToAdd)) - version = J2EEVersionUtil.convertAppClientVersionStringToJ2EEVersionID(verStr); - else if (J2EEProjectUtilities.isEJBProject(projectToAdd)) - version = J2EEVersionUtil.convertEJBVersionStringToJ2EEVersionID(verStr); - else if (J2EEProjectUtilities.isDynamicWebProject(projectToAdd)) - version = J2EEVersionUtil.convertWebVersionStringToJ2EEVersionID(verStr); - else if (J2EEProjectUtilities.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 (J2EEProjectUtilities.isDynamicWebProject(project)) { - name += IModuleExtensions.DOT_WAR; - } else if (J2EEProjectUtilities.isEARProject(project)) { - name += IModuleExtensions.DOT_EAR; - } else if (J2EEProjectUtilities.isJCAProject(project)) { - name += IModuleExtensions.DOT_RAR; - } else { - name += IModuleExtensions.DOT_JAR; - } - 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 b719a42df..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/IModuleExtensions.java +++ /dev/null @@ -1,19 +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; - -public interface IModuleExtensions { - - String DOT_WAR = ".war"; //$NON-NLS-1$ - String DOT_JAR =".jar"; //$NON-NLS-1$ - String DOT_RAR = ".rar"; //$NON-NLS-1$ - String DOT_EAR = ".ear"; //$NON-NLS-1$ -} 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 2049e4071..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/ImportJ2EEModuleDropAssistant.java +++ /dev/null @@ -1,204 +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.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 { - - public boolean isSupportedType(TransferData aTransferType) { - return FileTransfer.getInstance().isSupportedType(aTransferType); - } - - 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) { - 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(IModuleExtensions.DOT_WAR.equals(extension)) { - importDataModel = DataModelFactory.createDataModel(new WebComponentImportDataModelProvider()); - } else if(IModuleExtensions.DOT_RAR.equals(extension)) { - importDataModel = DataModelFactory.createDataModel(new ConnectorComponentImportDataModelProvider()); - } else if(IModuleExtensions.DOT_EAR.equals(extension)) { - importDataModel = DataModelFactory.createDataModel(new EARComponentImportDataModelProvider()); - } else if(IModuleExtensions.DOT_JAR.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((IVirtualComponent) 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; - } - - - 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/J2EEImportDropAction.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/J2EEImportDropAction.java deleted file mode 100644 index ded2cd900..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/J2EEImportDropAction.java +++ /dev/null @@ -1,247 +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 May 6, 2004 - * - */ -package org.eclipse.jst.j2ee.navigator.internal.dnd; - -import org.eclipse.core.resources.IProject; -import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive; -import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException; -import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions; -import org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl; -import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEModuleImportDataModelProperties; -import org.eclipse.jst.j2ee.internal.wizard.ImportUtil; -import org.eclipse.swt.dnd.FileTransfer; -import org.eclipse.swt.dnd.TransferData; -import org.eclipse.ui.navigator.CommonDropAdapter; -import org.eclipse.ui.part.IDropActionDelegate; -import org.eclipse.wst.common.frameworks.datamodel.IDataModel; -import org.eclipse.wst.common.frameworks.internal.AdaptabilityUtility; -import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizard; - -/** - * @author jsholl - * - */ -public class J2EEImportDropAction implements IDropActionDelegate { - private ArchiveOptions readOnlyArchiveOptions; - - public J2EEImportDropAction() { - readOnlyArchiveOptions = new ArchiveOptions(); - readOnlyArchiveOptions.setIsReadOnly(true); - } - - private boolean fileExistsOnDisk(String fileName) { - if (fileName != null && fileName.length() > 0) { - java.io.File file = new java.io.File(fileName); - return file.exists() && !file.isDirectory(); - } - return false; - } - - public boolean validateDrop(CommonDropAdapter dropAdapter, Object target, int operation, TransferData transferType) { - if (FileTransfer.getInstance().isSupportedType(transferType)) { - String[] sourceNames = (String[]) FileTransfer.getInstance().nativeToJava(transferType); - if (sourceNames == null || sourceNames.length != 1) { //only handle one file for now - return false; - } - String fileName = sourceNames[0]; - if (!(fileName.endsWith(".ear") || fileName.endsWith(".jar") || fileName.endsWith(".war") || fileName.endsWith(".rar"))) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - return false; - } - if (!fileExistsOnDisk(fileName)) { - return false; - } - int archiveType = ImportUtil.UNKNOWN; - Archive archive = null; - try { -// archive = CommonarchiveFactoryImpl.getActiveFactory().openArchive(fileName); -// archiveType = ImportUtil.getArchiveType(archive); -// String[] possibleNatures = null; -// switch (archiveType) { -// case ImportUtil.EARFILE : -// possibleNatures = new String[]{IEARNatureConstants.NATURE_ID}; -// break; -// case ImportUtil.EJBJARFILE : -// possibleNatures = new String[]{IEARNatureConstants.NATURE_ID, IEJBNatureConstants.NATURE_ID}; -// break; -// case ImportUtil.CLIENTJARFILE : -// possibleNatures = new String[]{IEARNatureConstants.NATURE_ID, IApplicationClientNatureConstants.NATURE_ID}; -// break; -// case ImportUtil.WARFILE : -// possibleNatures = new String[]{IEARNatureConstants.NATURE_ID, IWebNatureConstants.J2EE_NATURE_ID}; -// break; -// case ImportUtil.RARFILE : -// possibleNatures = new String[]{IEARNatureConstants.NATURE_ID, IConnectorNatureConstants.NATURE_ID}; -// break; -// default : -// return false; -// } -// -// IProject project = (IProject) AdaptabilityUtility.getAdapter(target, IProject.class); - //TODO fix up to use components and artifact edits -// if (null != project) { -// try { -// boolean foundNature = false; -// for (int i = 0; !foundNature && i < possibleNatures.length; i++) { -// if (project.hasNature(possibleNatures[i])) { -// foundNature = true; -// J2EENature nature = (J2EENature) project.getNature(possibleNatures[i]); -// int projectJ2EEVersion = nature.getJ2EEVersion(); -// int archiveModuleVersion = ArchiveUtil.getFastSpecVersion((ModuleFile) archive); -// boolean fail = false; -// switch (archiveType) { -// case ImportUtil.EARFILE : -// case ImportUtil.CLIENTJARFILE : -// if (projectJ2EEVersion < archiveModuleVersion) { -// fail = true; -// } -// break; -// case ImportUtil.EJBJARFILE : -// if (projectJ2EEVersion == J2EEVersionConstants.J2EE_1_2_ID && archiveModuleVersion > J2EEVersionConstants.EJB_1_1_ID) { -// fail = true; -// } else if (projectJ2EEVersion == J2EEVersionConstants.J2EE_1_3_ID && archiveModuleVersion > J2EEVersionConstants.EJB_2_0_ID) { -// fail = true; -// } -// break; -// case ImportUtil.WARFILE : -// if (projectJ2EEVersion == J2EEVersionConstants.J2EE_1_2_ID && archiveModuleVersion > J2EEVersionConstants.WEB_2_2_ID) { -// fail = true; -// } else if (projectJ2EEVersion == J2EEVersionConstants.J2EE_1_3_ID && archiveModuleVersion > J2EEVersionConstants.WEB_2_3_ID) { -// fail = true; -// } -// break; -// case ImportUtil.RARFILE : -// if (projectJ2EEVersion == J2EEVersionConstants.J2EE_1_2_ID) { -// fail = true; -// } else if (projectJ2EEVersion == J2EEVersionConstants.J2EE_1_3_ID && archiveModuleVersion > J2EEVersionConstants.JCA_1_0_ID) { -// fail = true; -// } -// break; -// } -// if (fail) { -// return false; -// } -// return true; -// } -// } -// if (!foundNature) { -// return false; -// } -// } catch (CoreException e) { -// return false; -// } -// } - - } catch (Exception e) { - return false; - } finally { - if (null != archive && archive.isOpen()) { - archive.close(); - } - } - return true; - } - return false; - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.wst.common.navigator.internal.views.navigator.dnd.NavigatorDropActionDelegate#run(org.eclipse.wst.common.navigator.internal.views.navigator.dnd.CommonNavigatorDropAdapter, - * java.lang.Object, java.lang.Object) - */ - public boolean run(Object source, Object target) { - //TODO fix up drag and drop transfer - TransferData currentTransfer = null; //dropAdapter.getCurrentTransfer(); - if (FileTransfer.getInstance().isSupportedType(currentTransfer)) { - final String[] fileNames = (String[]) source; - final String fileName = fileNames[0]; - DataModelWizard wizard = null; - IDataModel dataModel = null; - - int archiveType = ImportUtil.UNKNOWN; - Archive archive = null; - try { - archive = CommonarchiveFactoryImpl.getActiveFactory().openArchive(fileName); - archiveType = ImportUtil.getArchiveType(archive); - switch (archiveType) { - case ImportUtil.EARFILE : - dataModel = null;//new EnterpriseApplicationImportDataModel(); - break; - case ImportUtil.EJBJARFILE : - dataModel = null;//new EJBModuleImportDataModel(); - break; - case ImportUtil.CLIENTJARFILE : - dataModel = null;//new AppClientModuleImportDataModel(); - break; - case ImportUtil.WARFILE : - dataModel = null;//new WebModuleImportDataModel(); - break; - case ImportUtil.RARFILE : - dataModel = null;//new ConnectorModuleImportDataModel(); - break; - default : - return false; - } - } catch (OpenFailureException e) { - return false; - } finally { - if (null != archive && archive.isOpen()) { - archive.close(); - } - } - - dataModel.setProperty(IJ2EEModuleImportDataModelProperties.FILE_NAME, fileName); - - IProject project = (IProject) AdaptabilityUtility.getAdapter(target, IProject.class); - if (null != project) { - try { - if (archiveType == ImportUtil.EARFILE ) { - dataModel.setProperty(IJ2EEModuleImportDataModelProperties.PROJECT_NAME, project.getName()); - } else { - dataModel.setProperty(IJ2EEModuleImportDataModelProperties.EAR_COMPONENT_NAME, project.getName()); - dataModel.setBooleanProperty(IJ2EEModuleImportDataModelProperties.ADD_TO_EAR, true); - } - } catch (Exception e) { - return false; - } - } - switch (archiveType) { - case ImportUtil.EARFILE : - wizard = null;//new EnterpriseApplicationImportWizard((EnterpriseApplicationImportDataModel) dataModel); - break; - case ImportUtil.EJBJARFILE : - wizard = null;//new EJBModuleImportWizard((EJBModuleImportDataModel) dataModel); - break; - case ImportUtil.CLIENTJARFILE : - wizard = null;//new AppClientModuleImportWizard((AppClientModuleImportDataModel) dataModel); - break; - case ImportUtil.WARFILE : - wizard = null;//new WebModuleImportWizard((WebModuleImportDataModel) dataModel); - break; - case ImportUtil.RARFILE : - wizard = null;//new ConnectorModuleImportWizard((ConnectorModuleImportDataModel) dataModel); - break; - } - - if (null != wizard) { - //TODO fix up wizard for drag and drop -// WizardDialog dialog = new WizardDialog(getShell(), wizard); -// dialog.open(); - return true; - } - } - return false; - } -} 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 b7f71d831..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/plugin/J2EENavigatorPlugin.java +++ /dev/null @@ -1,166 +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; - -/** - * 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(); - } - - 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; - } - - 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); - } -} |