[bugno]: Updating Navigator Framework. Committed for MDE
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
new file mode 100644
index 0000000..f9720e9
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/EMFRootObjectManager.java
@@ -0,0 +1,130 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2004 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.Map;
+
+import org.eclipse.core.resources.IProject;
+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.jst.j2ee.internal.J2EEEditModel;
+import org.eclipse.jst.j2ee.internal.project.J2EENature;
+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();
+
+ /**
+ *
+ */
+ public EMFRootObjectManager() {
+ super();
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
+ }
+
+ public void dispose() {
+ if (projectEditModels == null)
+ return;
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
+ J2EEEditModel editModel = null;
+ Object[] keys = projectEditModels.keySet().toArray();
+ for (int i = 0; i < keys.length; i++) {
+ editModel = (J2EEEditModel) 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) {
+ J2EEEditModel editModel = getEditModelForProject(project);
+ if (editModel != null) {
+ rootObject = editModel.getPrimaryRootObject();
+ projectRootObjects.put(project, rootObject);
+ }
+ }
+ }
+ return rootObject;
+ }
+
+
+ protected J2EEEditModel getEditModelForProject(IProject project) {
+ if (project == null)
+ return null;
+ J2EEEditModel editModel = null;
+ synchronized (projectEditModels) {
+ editModel = (J2EEEditModel) projectEditModels.get(project);
+ 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);
+ addMapping(project, editModel);
+ }
+ }
+ }
+ }
+ return editModel;
+ }
+
+ protected void addMapping(IProject project, J2EEEditModel 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) {
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
+ */
+ public void resourceChanged(IResourceChangeEvent event) {
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
+ */
+ public boolean visit(IResourceDelta delta) throws CoreException {
+ return false;
+ }
+
+}
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
new file mode 100644
index 0000000..b401973
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEContentProvider.java
@@ -0,0 +1,167 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2004 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.emf.ecore.EObject;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.jdt.core.IJavaProject;
+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.wst.common.internal.emfworkbench.integration.DynamicAdapterFactory;
+import org.eclipse.wst.common.navigator.internal.views.CommonViewer;
+
+import com.ibm.wtp.emf.workbench.ProjectUtilities;
+
+/**
+ * <p>
+ * The following class is experimental until fully documented.
+ * </p>
+ */
+public class J2EEContentProvider implements ITreeContentProvider {
+
+ private static final Class IPROJECT_CLASS = IProject.class;
+
+ private final EMFRootObjectManager rootObjectManager;
+
+ private AdapterFactoryContentProvider delegateContentProvider;
+ private MethodsProviderDelegate delegateMethodsProvider;
+
+ private String viewerId = null;
+
+ /**
+ *
+ */
+ public J2EEContentProvider() {
+ rootObjectManager = new EMFRootObjectManager();
+ }
+
+ /**
+ *
+ */
+ public J2EEContentProvider(String aViewerId) {
+ rootObjectManager = new EMFRootObjectManager();
+ updateContentProviders(aViewerId);
+ }
+
+
+ /*
+ * (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 IProject || aParentElement instanceof IJavaProject) {
+ project = (IProject) ((IAdaptable) aParentElement).getAdapter(IPROJECT_CLASS);
+ if (project != null) {
+ Object rootObject = (rootObjectManager != null) ? rootObjectManager.getRootObject(project) : null;
+ if (rootObject != null)
+ children.add(rootObject);
+ }
+ } 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 == null && object instanceof BeanClassProviderHelper)
+ parent = ((BeanClassProviderHelper) object).getEjb();
+ if (parent == null && object instanceof EObject)
+ parent = ProjectUtilities.getProject((EObject) object);
+ return parent;
+ }
+
+ /**
+ * @see org.eclipse.jface.viewers.IContentProvider#dispose()
+ */
+ public void dispose() {
+ delegateContentProvider.dispose();
+ rootObjectManager.dispose();
+ delegateMethodsProvider.dispose();
+ }
+
+ /*
+ * @see ITreeContentProvider#hasChildren(Object)
+ */
+ public boolean hasChildren(Object element) {
+ if (MethodsProviderDelegate.providesContentFor(element))
+ return delegateMethodsProvider.hasChildren(element);
+ /* else if (isEMFEditObject(element)) */
+ 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;
+ 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;
+
+ }
+
+}
diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEEditActionGroup.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEEditActionGroup.java
index 1c01854..72d16e1 100644
--- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEEditActionGroup.java
+++ b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEEditActionGroup.java
@@ -25,8 +25,6 @@
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jst.common.navigator.internal.actions.NewWizardActionGroup;
-import org.eclipse.jst.common.navigator.internal.actions.WizardActionGroup;
import org.eclipse.jst.j2ee.application.Application;
import org.eclipse.jst.j2ee.applicationclient.creation.ApplicationClientNatureRuntime;
import org.eclipse.jst.j2ee.client.ApplicationClient;
@@ -52,6 +50,8 @@
import org.eclipse.wst.common.frameworks.internal.AdaptabilityUtility;
import org.eclipse.wst.common.frameworks.internal.ui.WTPGenericActionIds;
import org.eclipse.wst.common.frameworks.internal.ui.WTPOptionalOperationAction;
+import org.eclipse.wst.common.navigator.internal.actions.NewWizardActionGroup;
+import org.eclipse.wst.common.navigator.internal.actions.WizardActionGroup;
import org.eclipse.wst.common.navigator.internal.views.actions.CommonEditActionGroup;
/**
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
new file mode 100644
index 0000000..57bb89b
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EELabelProvider.java
@@ -0,0 +1,217 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2004 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.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.jface.viewers.ILabelProviderListener;
+import org.eclipse.jst.j2ee.common.util.CommonUtil;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.wst.common.internal.emfworkbench.integration.DynamicAdapterFactory;
+import org.eclipse.wst.common.navigator.internal.views.extensions.ICommonLabelProvider;
+
+import com.ibm.wtp.emf.workbench.ProjectUtilities;
+
+/**
+ * <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 AdapterFactoryLabelProvider(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 instanceof EObject) {
+ EObject eObj = (EObject) anElement;
+ if (CommonUtil.isDeploymentDescriptorRoot(eObj, true /* include ears */)) {
+ IProject parent = ProjectUtilities.getProject(eObj);
+ String path = new Path(eObj.eResource().getURI().toString()).makeRelative().toString();
+ if (parent == null)
+ return path;
+ int startIndex = path.indexOf(parent.getFullPath().toString());
+ return -1 == startIndex ? path : path.substring(startIndex);
+ }
+ }
+ return 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 (delegateLabelProvider != null)
+ return delegateLabelProvider.getImage(element);
+ return null;
+ }
+
+ /**
+ * @param element
+ * @return
+ */
+ public String getText(Object element) {
+ 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();
+ }
+}
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
index 83b3e14..07b890c 100644
--- 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
@@ -16,7 +16,7 @@
import org.eclipse.swt.dnd.FileTransfer;
import org.eclipse.swt.dnd.TransferData;
import org.eclipse.wst.common.frameworks.internal.AdaptabilityUtility;
-import org.eclipse.wst.common.navigator.internal.views.dnd.NavigatorDropAdapter;
+import org.eclipse.wst.common.navigator.internal.views.dnd.CommonNavigatorDropAdapter;
import org.eclipse.wst.common.navigator.internal.workbench.ResourceDropAction;
/**
@@ -28,10 +28,10 @@
/*
* (non-Javadoc)
*
- * @see org.eclipse.ui.workbench.navigator.dnd.ResourceDropAction#validateDrop(org.eclipse.wst.common.navigator.internal.views.navigator.dnd.NavigatorDropAdapter,
+ * @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(NavigatorDropAdapter dropAdapter, Object target, int operation, TransferData transferType) {
+ public boolean validateDrop(CommonNavigatorDropAdapter dropAdapter, Object target, int operation, TransferData transferType) {
if (FileTransfer.getInstance().isSupportedType(transferType)) {
IProject project = (IProject) AdaptabilityUtility.getAdapter(target, IProject.class);
try {
diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddProjectToEarDropAction.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddProjectToEarDropAction.java
index 4cee38e..b400dd4 100644
--- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddProjectToEarDropAction.java
+++ b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddProjectToEarDropAction.java
@@ -8,12 +8,6 @@
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
-/*
- * Created on Jun 9, 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.dnd;
import java.lang.reflect.InvocationTargetException;
@@ -33,7 +27,7 @@
import org.eclipse.wst.common.navigator.internal.views.NavigatorPlugin;
import org.eclipse.wst.common.navigator.internal.views.dnd.IDropValidator;
import org.eclipse.wst.common.navigator.internal.views.dnd.NavigatorDropActionDelegate;
-import org.eclipse.wst.common.navigator.internal.views.dnd.NavigatorDropAdapter;
+import org.eclipse.wst.common.navigator.internal.views.dnd.CommonNavigatorDropAdapter;
/**
* @author jsholl
@@ -45,7 +39,7 @@
super();
}
- public boolean validateDrop(NavigatorDropAdapter dropAdapter, Object target, int operation, TransferData transferType) {
+ public boolean validateDrop(CommonNavigatorDropAdapter dropAdapter, Object target, int operation, TransferData transferType) {
if (LocalSelectionTransfer.getInstance().isSupportedType(transferType) || PluginTransfer.getInstance().isSupportedType(transferType)) {
IProject earProject = (IProject) AdaptabilityUtility.getAdapter(target, IProject.class);
if (null == earProject || !earProject.isAccessible()) {
@@ -108,7 +102,7 @@
return false;
}
- public boolean run(NavigatorDropAdapter dropAdapter, Object source, Object target) {
+ public boolean run(CommonNavigatorDropAdapter dropAdapter, Object source, Object target) {
return run(source, target);
}
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
index e1afe6a..b21f3d4 100644
--- 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
@@ -49,7 +49,7 @@
import org.eclipse.wst.common.frameworks.internal.ui.WTPWizard;
import org.eclipse.wst.common.navigator.internal.views.dnd.IDropValidator;
import org.eclipse.wst.common.navigator.internal.views.dnd.NavigatorDropActionDelegate;
-import org.eclipse.wst.common.navigator.internal.views.dnd.NavigatorDropAdapter;
+import org.eclipse.wst.common.navigator.internal.views.dnd.CommonNavigatorDropAdapter;
/**
* @author jsholl
@@ -71,7 +71,7 @@
return false;
}
- public boolean validateDrop(NavigatorDropAdapter dropAdapter, Object target, int operation, TransferData transferType) {
+ public boolean validateDrop(CommonNavigatorDropAdapter 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
@@ -179,10 +179,10 @@
/*
* (non-Javadoc)
*
- * @see org.eclipse.wst.common.navigator.internal.views.navigator.dnd.NavigatorDropActionDelegate#run(org.eclipse.wst.common.navigator.internal.views.navigator.dnd.NavigatorDropAdapter,
+ * @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(NavigatorDropAdapter dropAdapter, Object source, Object target) {
+ public boolean run(CommonNavigatorDropAdapter dropAdapter, Object source, Object target) {
TransferData currentTransfer = dropAdapter.getCurrentTransfer();
if (FileTransfer.getInstance().isSupportedType(currentTransfer)) {
final String[] fileNames = (String[]) source;
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
index 1b8fe66..4dc476c 100644
--- 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
@@ -23,21 +23,14 @@
*/
public class J2EENavigatorPlugin extends AbstractUIPlugin {
//The shared instance.
- private static J2EENavigatorPlugin plugin;
- //Resource bundle.
- private ResourceBundle resourceBundle;
+ private static J2EENavigatorPlugin plugin;
/**
* The constructor.
*/
public J2EENavigatorPlugin(IPluginDescriptor descriptor) {
super(descriptor);
- plugin = this;
- try {
- resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.j2ee.internal.internal.internal.ui.navigator.plugin.J2EENavigatorPluginResources"); //$NON-NLS-1$
- } catch (MissingResourceException x) {
- resourceBundle = null;
- }
+ plugin = this;
}
/**
@@ -53,23 +46,4 @@
public static IWorkspace getWorkspace() {
return ResourcesPlugin.getWorkspace();
}
-
- /**
- * Returns the string from the plugin's resource bundle, or 'key' if not found.
- */
- public static String getResourceString(String key) {
- ResourceBundle bundle = J2EENavigatorPlugin.getDefault().getResourceBundle();
- try {
- return (bundle != null ? bundle.getString(key) : key);
- } catch (MissingResourceException e) {
- return key;
- }
- }
-
- /**
- * Returns the plugin's resource bundle,
- */
- public ResourceBundle getResourceBundle() {
- return resourceBundle;
- }
}
diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/plugin/J2EENavigatorPlugin.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/plugin/J2EENavigatorPlugin.java
deleted file mode 100644
index b418b4c..0000000
--- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/plugin/J2EENavigatorPlugin.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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.plugin;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class J2EENavigatorPlugin extends AbstractUIPlugin {
- //The shared instance.
- private static J2EENavigatorPlugin plugin;
- //Resource bundle.
- private ResourceBundle resourceBundle;
-
- /**
- * The constructor.
- */
- public J2EENavigatorPlugin(IPluginDescriptor descriptor) {
- super(descriptor);
- plugin = this;
- try {
- resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.j2ee.internal.ui.navigator.plugin.J2EENavigatorPluginResources"); //$NON-NLS-1$
- } catch (MissingResourceException x) {
- resourceBundle = null;
- }
- }
-
- /**
- * Returns the shared instance.
- */
- public static J2EENavigatorPlugin getDefault() {
- return plugin;
- }
-
- /**
- * Returns the workspace instance.
- */
- public static IWorkspace getWorkspace() {
- return ResourcesPlugin.getWorkspace();
- }
-
- /**
- * Returns the string from the plugin's resource bundle, or 'key' if not found.
- */
- public static String getResourceString(String key) {
- ResourceBundle bundle = J2EENavigatorPlugin.getDefault().getResourceBundle();
- try {
- return (bundle != null ? bundle.getString(key) : key);
- } catch (MissingResourceException e) {
- return key;
- }
- }
-
- /**
- * Returns the plugin's resource bundle,
- */
- public ResourceBundle getResourceBundle() {
- return resourceBundle;
- }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/plugin.xml b/plugins/org.eclipse.jst.j2ee.navigator.ui/plugin.xml
index 72a86b3..be7e588 100644
--- a/plugins/org.eclipse.jst.j2ee.navigator.ui/plugin.xml
+++ b/plugins/org.eclipse.jst.j2ee.navigator.ui/plugin.xml
@@ -45,7 +45,7 @@
<!--============================-->
<!-- J2EE Filters -->
-<!--============================-->
+<!--============================
<extension
point="org.eclipse.wst.common.navigator.views.navigatorContent">
<navigatorContent
@@ -83,17 +83,25 @@
</objectState>
</or>
</and>
- <objectClass name="org.eclipse.jst.j2ee.client.ApplicationClient" />
- <objectClass name="org.eclipse.jst.j2ee.jca.Connector" />
- <objectClass name="org.eclipse.jst.j2ee.ejb.EJBJar" />
- <objectClass name="org.eclipse.jst.j2ee.webapplication.WebApp" />
- <objectClass name="org.eclipse.jst.j2ee.ejb.EnterpriseBean" />
- <objectClass name="org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider" />
- <objectClass name="org.eclipse.jst.j2ee.internal.ejb.provider.BeanClassProviderHelper" />
</or>
</enables>
+ <emfEnablement>
+ <package uri="org.eclipse.emf.ecore.resource" />
+ <package uri="common.xmi" />
+ <package uri="application.xmi" />
+ <package uri="client.xmi" />
+ <package uri="modulemap.xmi" />
+ <package uri="ejb.xmi" />
+ <package uri="jca.xmi" />
+ <package uri="webapplication.xmi" />
+ <package uri="jsp.xmi" />
+ <package uri="wsdd.xmi" />
+ <package uri="webservice_client.xmi" />
+ <package uri="wscommon.xmi" />
+ </emfEnablement>
</navigatorContent>
</extension>
+ -->
<extension
id="EARGroup"
point="org.eclipse.wst.common.navigator.workbench.NavigatorGroup">
@@ -396,5 +404,65 @@
</dropEnablement>
</dropHandler>
</extension>
-
+
+ <!-- Experimental -->
+ <extension
+ point="org.eclipse.wst.common.navigator.views.navigatorContent">
+ <navigatorContent
+ name="Experimental J2EE"
+ priority="5"
+ icon="icons/J2EEPerspective.gif"
+ contentProvider="org.eclipse.jst.j2ee.navigator.internal.J2EEContentProvider"
+ labelProvider="org.eclipse.jst.j2ee.navigator.internal.J2EELabelProvider"
+ id="org.eclipse.jst.navigator.j2ee.ui.J2EEContent.experimental">
+ <enables>
+ <or>
+ <and>
+ <objectClass
+ name="org.eclipse.core.resources.IProject">
+ </objectClass>
+ <or>
+ <objectState
+ name="projectNature"
+ value="org.eclipse.jst.j2ee.EARNature">
+ </objectState>
+ <objectState
+ name="projectNature"
+ value="org.eclipse.jst.j2ee.ejb.EJBNature">
+ </objectState>
+ <objectState
+ name="projectNature"
+ value="org.eclipse.jst.j2ee.ApplicationClientNature">
+ </objectState>
+ <objectState
+ name="projectNature"
+ value="org.eclipse.jst.j2ee.web.WebNature">
+ </objectState>
+ <objectState
+ name="projectNature"
+ value="org.eclipse.jst.j2ee.jca.ConnectorNature">
+ </objectState>
+ </or>
+ </and>
+ </or>
+ </enables>
+
+ <emfEnablement>
+ <package uri="org.eclipse.emf.ecore.resource" />
+ <package uri="common.xmi" />
+ <package uri="application.xmi" />
+ <package uri="client.xmi" />
+ <package uri="modulemap.xmi" />
+ <package uri="ejb.xmi" />
+ <package uri="jca.xmi" />
+ <package uri="webapplication.xmi" />
+ <package uri="jsp.xmi" />
+ <package uri="wsdd.xmi" />
+ <package uri="webservice_client.xmi" />
+ <package uri="wscommon.xmi" />
+ </emfEnablement>
+ </navigatorContent>
+ </extension>
</plugin>
+
+