diff options
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddProjectToEarDropAction.java')
-rw-r--r-- | plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddProjectToEarDropAction.java | 132 |
1 files changed, 0 insertions, 132 deletions
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 deleted file mode 100644 index 9adf77da8..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/dnd/AddProjectToEarDropAction.java +++ /dev/null @@ -1,132 +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.internal.dnd; - -import java.lang.reflect.InvocationTargetException; -import java.util.Iterator; - -import org.eclipse.core.resources.IProject; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jst.j2ee.internal.earcreation.EAREditModel; -import org.eclipse.jst.j2ee.internal.earcreation.EARNatureRuntime; -import org.eclipse.jst.j2ee.internal.project.J2EENature; -import org.eclipse.swt.dnd.TransferData; -import org.eclipse.ui.part.PluginTransfer; -import org.eclipse.ui.views.navigator.LocalSelectionTransfer; -import org.eclipse.wst.common.frameworks.internal.AdaptabilityUtility; -import org.eclipse.wst.common.frameworks.internal.operations.WTPOperationDataModel; -import org.eclipse.wst.common.navigator.internal.views.NavigatorPlugin; -import org.eclipse.wst.common.navigator.internal.views.dnd.CommonNavigatorDropAdapter; -import org.eclipse.wst.common.navigator.internal.views.dnd.IDropValidator; -import org.eclipse.wst.common.navigator.internal.views.dnd.NavigatorDropActionDelegate; - -/** - * @author jsholl - * - */ -public abstract class AddProjectToEarDropAction extends NavigatorDropActionDelegate implements IDropValidator { - - public AddProjectToEarDropAction() { - super(); - } - - 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()) { - return false; - } - EARNatureRuntime earNature = (EARNatureRuntime) J2EENature.getRegisteredRuntime(earProject); - if (null == earNature) { - return false; - } - int earVersion = earNature.getApplication().getJ2EEVersionID(); - - ISelection selection = LocalSelectionTransfer.getInstance().getSelection(); - if (selection == null || !(selection instanceof IStructuredSelection)) { - return false; - } - IStructuredSelection structuredSelection = (IStructuredSelection) selection; - if (structuredSelection.isEmpty()) { - return false; - } - Object key = new Object(); - EAREditModel editModel = null; - try { - editModel = earNature.getEarEditModelForRead(key); - Iterator iterator = structuredSelection.iterator(); - while (iterator.hasNext()) { - Object next = iterator.next(); - IProject projectToAdd = (IProject) AdaptabilityUtility.getAdapter(next, IProject.class); - if (null == projectToAdd || !projectToAdd.isAccessible()) { - return false; - } - - if (!validateProjectToAdd(projectToAdd, earVersion)) { - return false; - } - - if (editModel.hasMappingToProject(projectToAdd)) { - return false; - } - } - } finally { - if (null != editModel) { - editModel.releaseAccess(key); - } - } - return true; - } - return false; - } - - protected abstract boolean validateProjectToAdd(IProject projectToAdd, int earVersion); - - protected abstract WTPOperationDataModel getDataModel(IProject earProject, IProject projectToAdd); - - protected void doInit() { - //default nothing - } - - public boolean run(Object source, Object target) { - if (source instanceof IStructuredSelection) - return run((IStructuredSelection) source, (IProject) AdaptabilityUtility.getAdapter(target, IProject.class)); - return false; - } - - public boolean run(CommonNavigatorDropAdapter dropAdapter, Object source, Object target) { - return run(source, target); - } - - protected boolean run(IStructuredSelection selection, IProject earProject) { - if (selection == null || selection.isEmpty() || earProject == null || !earProject.isAccessible()) - return false; - - for (Iterator selectionIterator = selection.iterator(); selectionIterator.hasNext();) { - Object sourceObject = selectionIterator.next(); - - IProject projectToAdd = (IProject) AdaptabilityUtility.getAdapter(sourceObject, IProject.class); - if (projectToAdd != null) { - try { - WTPOperationDataModel dataModel = getDataModel(earProject, projectToAdd); - dataModel.getDefaultOperation().run(null); - } catch (InvocationTargetException e) { - NavigatorPlugin.log(e.toString()); - } catch (InterruptedException e) { - NavigatorPlugin.log(e.toString()); - } - } - } - return true; - } - -}
\ No newline at end of file |