diff options
author | cbridgha | 2005-03-11 20:50:38 +0000 |
---|---|---|
committer | cbridgha | 2005-03-11 20:50:38 +0000 |
commit | 7e5fa97b2792d23d514b5cd6b9ed0f6203cf128c (patch) | |
tree | c376c8b53232ca254695cf4a84080804295bf2d2 /plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee | |
parent | c2a3a86c773746576aeb4d4f486f20101dca74fe (diff) | |
download | webtools.javaee-7e5fa97b2792d23d514b5cd6b9ed0f6203cf128c.tar.gz webtools.javaee-7e5fa97b2792d23d514b5cd6b9ed0f6203cf128c.tar.xz webtools.javaee-7e5fa97b2792d23d514b5cd6b9ed0f6203cf128c.zip |
Code merge with TEMP_M4 branch - commit for vkb
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee')
10 files changed, 235 insertions, 193 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEPropertiesPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEPropertiesPage.java index 28cef5fc7..a1697822c 100644 --- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEPropertiesPage.java +++ b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEPropertiesPage.java @@ -10,25 +10,20 @@ *******************************************************************************/ package org.eclipse.jst.j2ee.internal; -import java.lang.reflect.InvocationTargetException; import java.util.StringTokenizer; +import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.jface.dialogs.ErrorDialog; -import org.eclipse.jface.dialogs.ProgressMonitorDialog; -import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.jst.j2ee.applicationclient.creation.ApplicationClientNatureRuntime; import org.eclipse.jst.j2ee.internal.earcreation.EARNatureRuntime; import org.eclipse.jst.j2ee.internal.ejb.project.EJBNatureRuntime; import org.eclipse.jst.j2ee.internal.jca.operations.ConnectorNatureRuntime; -import org.eclipse.jst.j2ee.internal.listeners.ValidateEditListener; import org.eclipse.jst.j2ee.internal.project.J2EENature; import org.eclipse.jst.j2ee.internal.project.ProjectSupportResourceHandler; -import org.eclipse.jst.j2ee.internal.web.operations.J2EEWebNatureRuntime; import org.eclipse.jst.j2ee.internal.web.operations.WebProjectInfo; import org.eclipse.jst.j2ee.internal.web.operations.WebProjectPropertiesUpdateOperation; import org.eclipse.jst.j2ee.internal.web.operations.WebPropertiesUtil; +import org.eclipse.jst.j2ee.internal.web.util.WebArtifactEdit; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; @@ -37,16 +32,10 @@ import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.dialogs.PropertyPage; -import org.eclipse.ui.internal.ide.IDEWorkbenchMessages; -import org.eclipse.wst.common.frameworks.internal.ui.RunnableWithProgressWrapper; -import org.eclipse.wst.common.frameworks.internal.ui.WorkspaceModifyComposedOperation; import org.eclipse.wst.common.frameworks.operations.IHeadlessRunnableWithProgress; -import org.eclipse.wst.common.internal.emfworkbench.validateedit.ResourceStateValidatorImpl; - -import com.ibm.wtp.common.logger.proxy.Logger; +import org.eclipse.wst.common.modulecore.ModuleCore; /** * @author jsholl @@ -91,9 +80,11 @@ public class J2EEPropertiesPage extends PropertyPage implements J2EEPropertiesCo fillAppClientLevel(p, c); } else if (ConnectorNatureRuntime.hasRuntime(p)) { fillConnectorLevel(p, c); - } else if (J2EEWebNatureRuntime.hasRuntime(p)) { - fillWebLevel(p, c); } + //Do: need to rework based on Module + //else if (J2EEWebNatureRuntime.hasRuntime(p)) { + //fillWebLevel(p, c); + //} } catch (Exception e) { e.printStackTrace(); } @@ -104,12 +95,15 @@ public class J2EEPropertiesPage extends PropertyPage implements J2EEPropertiesCo * @param c */ private void fillWebLevel(IProject p, Composite c) { - J2EEWebNatureRuntime nature = J2EEWebNatureRuntime.getRuntime(p); + int servletVersion = getModuleServletVersion(); + //fillJ2EELevel(nature,c); Label label = new Label(c, SWT.NONE); - label.setText(WEB_LEVEL + " " + nature.getModuleVersionText()); //$NON-NLS-1$ + //label.setText(WEB_LEVEL + " " + nature.getModuleVersionText()); //$NON-NLS-1$ + label.setText(WEB_LEVEL + " " + getModuleServletVersion()); //$NON-NLS-1$ String moduleDesc = null; - switch (nature.getModuleVersion()) { + //switch (nature.getModuleVersion()) { + switch ( servletVersion ) { case J2EEVersionConstants.WEB_2_2_ID : moduleDesc = WEB_22_DESCRIPTION; break; @@ -145,7 +139,7 @@ public class J2EEPropertiesPage extends PropertyPage implements J2EEPropertiesCo webContentFolderField.setLayoutData(data); webContentFolderField.setEditable(true); - String s = J2EEWebNatureRuntime.getRuntime(p).getModuleServerRootName(); + String s = getModuleServerRoot().getName(); webContentFolderField.setText(s); webContentFolderField.addModifyListener(new ModifyListener() { @@ -170,7 +164,7 @@ public class J2EEPropertiesPage extends PropertyPage implements J2EEPropertiesCo contextRootNameField.setLayoutData(data); contextRootNameField.setEditable(true); - String s = J2EEWebNatureRuntime.getRuntime(p).getContextRoot(); + String s = getModuleContextRoot(); contextRootNameField.setText(s); contextRootNameField.addModifyListener(new ModifyListener() { @@ -179,8 +173,6 @@ public class J2EEPropertiesPage extends PropertyPage implements J2EEPropertiesCo validateContextRoot(newContextRoot); } }); - - } /** @@ -310,7 +302,7 @@ public class J2EEPropertiesPage extends PropertyPage implements J2EEPropertiesCo } private static boolean isJ2EEProject(IProject p) { - return EARNatureRuntime.hasRuntime(p) || J2EEWebNatureRuntime.hasRuntime(p) || EJBNatureRuntime.hasRuntime(p) || ApplicationClientNatureRuntime.hasRuntime(p) || ConnectorNatureRuntime.hasRuntime(p); + return EARNatureRuntime.hasRuntime(p) || /* //To Do: need to rework based on Module J2EEWebNatureRuntime.hasRuntime(p) || */ EJBNatureRuntime.hasRuntime(p) || ApplicationClientNatureRuntime.hasRuntime(p) || ConnectorNatureRuntime.hasRuntime(p); } @@ -318,13 +310,15 @@ public class J2EEPropertiesPage extends PropertyPage implements J2EEPropertiesCo private IHeadlessRunnableWithProgress getWebPropertiesUpdateOperation() { IProject aProject = getJ2EEProject(); wtWebProjectInfo.setProject(aProject); - J2EEWebNatureRuntime webNatureRuntime = J2EEWebNatureRuntime.getRuntime(aProject); + int servletLevel = getModuleServletVersion(); + int jspLevel = getModuleJSPVersion(); + if (getContextRoot() != null) wtWebProjectInfo.setContextRoot(getContextRoot()); if (getModuleServerRootName() != null) wtWebProjectInfo.setWebContentName(getModuleServerRootName()); - wtWebProjectInfo.setJSPLevel(webNatureRuntime.getJSPLevel()); - wtWebProjectInfo.setServletLevel(webNatureRuntime.getServletLevel()); + wtWebProjectInfo.setJSPLevel(jspLevel); + wtWebProjectInfo.setServletLevel(servletLevel); return new WebProjectPropertiesUpdateOperation(wtWebProjectInfo); } @@ -349,42 +343,37 @@ public class J2EEPropertiesPage extends PropertyPage implements J2EEPropertiesCo } private boolean hasContextRootChanged() { - IProject aProject = getJ2EEProject(); - J2EEWebNatureRuntime webNatureRuntime = J2EEWebNatureRuntime.getRuntime(aProject); - String oldContextRoot = webNatureRuntime.getContextRoot(); - if (oldContextRoot == null) - return true; - return !oldContextRoot.equals(getContextRoot()); + String oldContextRoot = getModuleContextRoot(); + return oldContextRoot == null || !oldContextRoot.equals(getContextRoot()); } private boolean hasWebContentNameChanged() { - IProject aProject = getJ2EEProject(); - J2EEWebNatureRuntime webNatureRuntime = J2EEWebNatureRuntime.getRuntime(aProject); - String oldWebContentName = webNatureRuntime.getModuleServerRootName(); - if (oldWebContentName == null) - return true; - return !oldWebContentName.equals(getModuleServerRootName()); + String oldWebContentName = getModuleServerRoot().getName(); + return oldWebContentName == null || !oldWebContentName.equals(getModuleServerRootName()); } protected void performDefaults() { super.performDefaults(); - IProject aProject = getJ2EEProject(); - J2EEWebNatureRuntime webNatureRuntime = J2EEWebNatureRuntime.getRuntime(aProject); - - if (this.contextRootNameField != null) - contextRootNameField.setText(webNatureRuntime.getContextRoot()); + String contextRoot = getModuleContextRoot(); + String moduleServerRoot = getModuleServerRoot().getName(); - if (this.webContentFolderField != null) - webContentFolderField.setText(webNatureRuntime.getModuleServerRootName()); + if (contextRootNameField != null) + contextRootNameField.setText(contextRoot); + if (webContentFolderField != null) + webContentFolderField.setText(moduleServerRoot); } public boolean performOk() { boolean retVal = true; - IProject aProject = getJ2EEProject(); + //IProject aProject = getJ2EEProject(); // if the project isn't open, OK worked. - if (J2EEWebNatureRuntime.hasRuntime(aProject)) { + + //To Do: need to rework based on Module + + /* + if ( J2EEWebNatureRuntime.hasRuntime(aProject)) { WorkspaceModifyComposedOperation composedOp = new WorkspaceModifyComposedOperation(); if (hasUpdatedInformation()) { IHeadlessRunnableWithProgress runnable = getWebPropertiesUpdateOperation(); @@ -415,7 +404,7 @@ public class J2EEPropertiesPage extends PropertyPage implements J2EEPropertiesCo return false; } } - } + } */ return retVal; } @@ -467,5 +456,50 @@ public class J2EEPropertiesPage extends PropertyPage implements J2EEPropertiesCo } + protected String getModuleContextRoot() { + WebArtifactEdit webEdit = null; + try{ + webEdit = (WebArtifactEdit) ModuleCore.getFirstArtifactEditForRead(project); + if (webEdit != null) { + return webEdit.getServerContextRoot(); + } + } finally{ + if( webEdit != null ) + webEdit.dispose(); + } + return null; + } + + protected IContainer getModuleServerRoot() { + return WebPropertiesUtil.getModuleServerRoot(project); + } + + protected int getModuleServletVersion() { + WebArtifactEdit webEdit = null; + try{ + webEdit = (WebArtifactEdit) ModuleCore.getFirstArtifactEditForRead(project); + if (webEdit != null) { + return webEdit.getServletVersion(); + } + } finally{ + if( webEdit != null ) + webEdit.dispose(); + } + return J2EEVersionConstants.SERVLET_2_2; + } + + protected int getModuleJSPVersion() { + WebArtifactEdit webEdit = null; + try{ + webEdit = (WebArtifactEdit) ModuleCore.getFirstArtifactEditForRead(project); + if (webEdit != null) { + return webEdit.getJSPVersion(); + } + } finally{ + if( webEdit != null ) + webEdit.dispose(); + } + return J2EEVersionConstants.SERVLET_2_2; + } }
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeleteAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeleteAction.java index fa2242bae..a89dcd84a 100644 --- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeleteAction.java +++ b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeleteAction.java @@ -17,12 +17,12 @@ import java.util.List; import java.util.Set; import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IStatus; import org.eclipse.emf.ecore.EObject; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.internal.core.JavaProject; import org.eclipse.jdt.ui.actions.SelectionDispatchAction; +import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.ErrorDialog; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.dialogs.ProgressMonitorDialog; @@ -33,7 +33,6 @@ import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.window.Window; import org.eclipse.jst.j2ee.application.Application; -import org.eclipse.jst.j2ee.applicationclient.creation.ApplicationClientNatureRuntime; import org.eclipse.jst.j2ee.internal.common.util.CommonUtil; import org.eclipse.jst.j2ee.internal.delete.DeleteModuleOperation; import org.eclipse.jst.j2ee.internal.delete.DeleteOptions; @@ -44,16 +43,17 @@ import org.eclipse.jst.j2ee.internal.dialogs.J2EEDeleteUIConstants; import org.eclipse.jst.j2ee.internal.earcreation.EAREditModel; import org.eclipse.jst.j2ee.internal.earcreation.EARNatureRuntime; import org.eclipse.jst.j2ee.internal.ejb.project.EJBNatureRuntime; -import org.eclipse.jst.j2ee.internal.jca.operations.ConnectorNatureRuntime; import org.eclipse.jst.j2ee.internal.plugin.CommonEditorUtility; import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin; import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages; import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin; -import org.eclipse.jst.j2ee.internal.project.IWebNatureConstants; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchSite; import org.eclipse.ui.actions.DeleteResourceAction; +import org.eclipse.ui.actions.SelectionListenerAction; import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin; +import org.eclipse.wst.common.modulecore.WorkbenchModule; +import org.eclipse.wst.common.modulecore.internal.util.IModuleConstants; import com.ibm.wtp.common.logger.proxy.Logger; import com.ibm.wtp.emf.workbench.ProjectUtilities; @@ -157,7 +157,13 @@ public class J2EEDeleteAction extends SelectionDispatchAction implements J2EEDel } protected boolean isJ2EEModule(Object o) { - return CommonUtil.isDeploymentDescriptorRoot(o, false) || isJ2EEProject(o); + if (o instanceof WorkbenchModule) { + WorkbenchModule module = (WorkbenchModule) o; + String moduleType = module.getModuleType().getModuleTypeId(); + //TODO need to add connector, app client, ear, ejb client + return moduleType.equals(IModuleConstants.JST_WEB_MODULE) || moduleType.equals(IModuleConstants.JST_EJB_MODULE); + } + return CommonUtil.isDeploymentDescriptorRoot(o, false); } protected boolean isApplication(Object o) { @@ -370,30 +376,6 @@ public class J2EEDeleteAction extends SelectionDispatchAction implements J2EEDel } } - protected boolean isJ2EEProject(Object o) { - boolean retVal = false; - if (o instanceof JavaProject) { - o = ((JavaProject) o).getProject(); - } - if (o instanceof IProject) { - IProject project = (IProject) o; - try { - if (EJBNatureRuntime.hasRuntime(project)) { - retVal = true; - } else if (project.hasNature(IWebNatureConstants.J2EE_NATURE_ID)) { - retVal = true; - } else if (ApplicationClientNatureRuntime.hasRuntime(project)) { - retVal = true; - } else if (ConnectorNatureRuntime.hasRuntime(project)) { - retVal = true; - } - } catch (CoreException ex) { - retVal = false; - } - } - return retVal; - } - protected boolean isJ2EEApplicationProject(Object o) { boolean retVal = false; if (o instanceof IProject) { diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEModuleRenameChange.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEModuleRenameChange.java index d5c43d067..6c5208338 100644 --- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEModuleRenameChange.java +++ b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEModuleRenameChange.java @@ -19,25 +19,19 @@ package org.eclipse.jst.j2ee.internal.actions; import java.lang.reflect.InvocationTargetException; import java.util.Collections; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Status; import org.eclipse.jst.j2ee.internal.dialogs.J2EERenameUIConstants; -import org.eclipse.jst.j2ee.internal.earcreation.EARNatureRuntime; import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin; -import org.eclipse.jst.j2ee.internal.project.J2EENature; import org.eclipse.jst.j2ee.internal.rename.RenameModuleOperation; import org.eclipse.jst.j2ee.internal.rename.RenameOptions; -import org.eclipse.jst.j2ee.internal.rename.RenameUtilityJarMetadataOperation; -import org.eclipse.jst.j2ee.internal.rename.UpdateWebContextRootMetadataOperation; -import org.eclipse.jst.j2ee.internal.web.operations.WebNatureRuntimeUtilities; +import org.eclipse.jst.j2ee.internal.web.util.WebArtifactEdit; import org.eclipse.ltk.core.refactoring.Change; import org.eclipse.ltk.core.refactoring.RefactoringStatus; -import org.eclipse.wst.web.internal.operation.IBaseWebNature; +import org.eclipse.wst.common.modulecore.WorkbenchModule; /** @@ -49,10 +43,10 @@ import org.eclipse.wst.web.internal.operation.IBaseWebNature; public class J2EEModuleRenameChange extends Change { private String newName; - private IProject target; + private WorkbenchModule target; private boolean renameDependencies; - public J2EEModuleRenameChange(IProject target, String newName, boolean renameDependencies) { + public J2EEModuleRenameChange(WorkbenchModule target, String newName, boolean renameDependencies) { this.target = target; this.newName = newName; this.renameDependencies = renameDependencies; @@ -98,15 +92,14 @@ public class J2EEModuleRenameChange extends Change { RenameModuleOperation renameOp = new RenameModuleOperation(getRenameOptions()); renameOp.run(pm); - IProject newTarget = ResourcesPlugin.getWorkspace().getRoot().getProject(this.newName); - if (newTarget.isAccessible()) { - IBaseWebNature webNature = WebNatureRuntimeUtilities.getRuntime(newTarget); - if (webNature != null) { - new UpdateWebContextRootMetadataOperation(newTarget, webNature.getContextRoot()).run(pm); - } else if (J2EENature.getRegisteredRuntime(newTarget) == null) - new RenameUtilityJarMetadataOperation(this.target, newTarget).run(pm); - } - + //String contextRoot = getServerContextRoot(); + // TODO fix up rename and context root operations + //if (webNature != null) { + //new UpdateWebContextRootMetadataOperation(newTarget, webNature.getContextRoot()).run(pm); +// if(contextRoot.equals("") == false){ //$NON-NLS-1$ +// new UpdateWebContextRootMetadataOperation(target, contextRoot).run(pm); +// } else if (J2EENature.getRegisteredRuntime(target) == null) +// new RenameUtilityJarMetadataOperation(target, newTarget).run(pm); } catch (InvocationTargetException e) { //Ignore } catch (InterruptedException e) { @@ -114,6 +107,19 @@ public class J2EEModuleRenameChange extends Change { } return null; } + + protected String getServerContextRoot() { + WebArtifactEdit webEdit = null; + try{ + webEdit = WebArtifactEdit.getWebArtifactEditForRead(target); + if (webEdit != null) + return webEdit.getServerContextRoot(); + } finally { + if (webEdit != null ) + webEdit.dispose(); + } + return ""; //$NON-NLS-1$ + } /** * @return @@ -122,7 +128,8 @@ public class J2EEModuleRenameChange extends Change { RenameOptions options = new RenameOptions(); options.setNewName(this.newName); options.setSelectedProjects(Collections.singletonList(this.target)); - options.setIsEARRename(EARNatureRuntime.getRuntime(this.target) != null); + // TODO check module type for EAR type + //options.setIsEARRename(EARNatureRuntime.getRuntime(this.target) != null); options.setRenameModuleDependencies(this.renameDependencies); options.setRenameModules(true); options.setRenameProjects(false); diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameAction.java index 3809cb3cc..989279d01 100644 --- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameAction.java +++ b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameAction.java @@ -18,9 +18,10 @@ import java.util.Set; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IStatus; +import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; -import org.eclipse.jdt.internal.core.JavaProject; import org.eclipse.jdt.ui.actions.SelectionDispatchAction; +import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.ErrorDialog; import org.eclipse.jface.dialogs.ProgressMonitorDialog; import org.eclipse.jface.operation.IRunnableWithProgress; @@ -30,29 +31,28 @@ import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.window.Window; import org.eclipse.jst.j2ee.application.Application; -import org.eclipse.jst.j2ee.applicationclient.creation.ApplicationClientNatureRuntime; import org.eclipse.jst.j2ee.internal.common.util.CommonUtil; import org.eclipse.jst.j2ee.internal.dialogs.J2EERenameDialog; import org.eclipse.jst.j2ee.internal.dialogs.J2EERenameUIConstants; import org.eclipse.jst.j2ee.internal.dialogs.RenameModuleDialog; -import org.eclipse.jst.j2ee.internal.earcreation.EAREditModel; import org.eclipse.jst.j2ee.internal.earcreation.EARNatureRuntime; -import org.eclipse.jst.j2ee.internal.ejb.project.EJBNatureRuntime; -import org.eclipse.jst.j2ee.internal.jca.operations.ConnectorNatureRuntime; import org.eclipse.jst.j2ee.internal.listeners.IValidateEditListener; import org.eclipse.jst.j2ee.internal.listeners.ValidateEditListener; import org.eclipse.jst.j2ee.internal.plugin.CommonEditorUtility; import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin; import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages; -import org.eclipse.jst.j2ee.internal.project.IWebNatureConstants; import org.eclipse.jst.j2ee.internal.rename.RenameModuleOperation; import org.eclipse.jst.j2ee.internal.rename.RenameOptions; -import org.eclipse.jst.j2ee.internal.web.operations.J2EEWebNatureRuntime; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchSite; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.actions.RenameResourceAction; +import org.eclipse.ui.actions.SelectionListenerAction; import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin; +import org.eclipse.wst.common.modulecore.ModuleCore; +import org.eclipse.wst.common.modulecore.UnresolveableURIException; +import org.eclipse.wst.common.modulecore.WorkbenchModule; +import org.eclipse.wst.common.modulecore.WorkbenchModuleResource; import com.ibm.wtp.common.logger.proxy.Logger; import com.ibm.wtp.emf.workbench.ProjectUtilities; @@ -62,7 +62,7 @@ public class J2EERenameAction extends SelectionDispatchAction implements J2EERen protected Shell shell; //Used for EAR rename protected Set referencedProjects; - protected List projects; + protected List modules; protected RenameOptions options; // added for IRefactoringAction behavior protected ISelectionProvider provider = null; @@ -92,7 +92,7 @@ public class J2EERenameAction extends SelectionDispatchAction implements J2EERen renameModuleOperation = null; } referencedProjects = null; - projects = null; + modules = null; options = null; } @@ -136,7 +136,8 @@ public class J2EERenameAction extends SelectionDispatchAction implements J2EERen Iterator it = sel.iterator(); while (it.hasNext()) { Object o = it.next(); - if (!CommonUtil.isDeploymentDescriptorRoot(o, false) && !isJ2EEProject(o)) + //TODO check for j2ee workbench module selection + if (!CommonUtil.isDeploymentDescriptorRoot(o, false) /*&& !isJ2EEProject(o)*/) return false; } return true; @@ -154,32 +155,45 @@ public class J2EERenameAction extends SelectionDispatchAction implements J2EERen } - protected List getProjects() { - if (projects == null) { - projects = new ArrayList(); + protected List getModules() { + if (modules == null) { + modules = new ArrayList(); IStructuredSelection sel = (StructuredSelection) getSelection(); Iterator iterator = sel.iterator(); - IProject project = null; + WorkbenchModule module = null; Object o = null; while (iterator.hasNext()) { o = iterator.next(); - if (o instanceof JavaProject) { - o = ((JavaProject) o).getProject(); - } - if (o instanceof IProject) { - projects.add(o); + if (o instanceof WorkbenchModule) { + modules.add(o); } else if (o instanceof EObject) { EObject obj = (EObject) o; - project = ProjectUtilities.getProject(obj); - if (project == null) - throw new RuntimeException(J2EEUIMessages.getResourceString("Project_should_not_be_null_1_ERROR_")); //$NON-NLS-1$ - projects.add(project); + IProject project = ProjectUtilities.getProject(obj); + ModuleCore moduleCore = null; + try { + moduleCore = ModuleCore.getModuleCoreForRead(project); + URI uri = obj.eResource().getURI(); + WorkbenchModuleResource[] resources = moduleCore.findWorkbenchModuleResourcesBySourcePath(uri); + for (int i=0; i<resources.length; i++) { + module = resources[i].getModule(); + if (module !=null) + break; + } + if (module == null) + throw new RuntimeException(J2EEUIMessages.getResourceString("Project_should_not_be_null_1_ERROR_")); //$NON-NLS-1$ + modules.add(module); + } catch (UnresolveableURIException e) { + //Ignore + } finally { + if (moduleCore !=null) + moduleCore.dispose(); + } } else { throw new RuntimeException(J2EEUIMessages.getResourceString("Non-project_in_selection_2_ERROR_")); //$NON-NLS-1$ } } } - return projects; + return modules; } /** @@ -187,34 +201,29 @@ public class J2EERenameAction extends SelectionDispatchAction implements J2EERen */ public void run() { try { - List localProjects = getProjects(); - if (localProjects.size() != 1) + List localModules = getModules(); + if (localModules.size() != 1) return; - IProject project = (IProject) localProjects.get(0); + WorkbenchModule module = (WorkbenchModule) localModules.get(0); J2EERenameDialog dlg = null; // if all we are doing is renaming an EAR, let the base platform do it if (isSelectionAllApplications()) { RenameResourceAction action = new RenameResourceAction(shell); - action.selectionChanged(new StructuredSelection(project)); + action.selectionChanged(new StructuredSelection(module)); action.run(); } else { - String contextRoot = null; - try { - if (project.hasNature(IWebNatureConstants.J2EE_NATURE_ID)) { - contextRoot = J2EEWebNatureRuntime.getRuntime(project).getContextRoot(); - } - } catch (Throwable t) { - contextRoot = null; - } - dlg = new RenameModuleDialog(shell, project.getName(), contextRoot); + String contextRoot = ""; //$NON-NLS-1$ + //TODO add context root to the module model + //contextRoot = module.getServerContextRoot(); + dlg = new RenameModuleDialog(shell, module.getDeployedName(), contextRoot); dlg.open(); if (dlg.getReturnCode() == Window.CANCEL) return; options = dlg.getRenameOptions(); if (options != null) - options.setSelectedProjects(localProjects); + options.setSelectedProjects(localModules); if (!(ensureEditorsSaved() && validateState())) return; @@ -239,19 +248,20 @@ public class J2EERenameAction extends SelectionDispatchAction implements J2EERen } protected void computeReferencedProjects() { - getProjects(); + getModules(); referencedProjects = new HashSet(); - for (int i = 0; i < projects.size(); i++) { - IProject project = (IProject) projects.get(i); - EARNatureRuntime runtime = EARNatureRuntime.getRuntime(project); - if (runtime == null) - continue; - EAREditModel editModel = runtime.getEarEditModelForRead(this); - try { - referencedProjects.addAll(editModel.getModuleMappedProjects()); - } finally { - editModel.releaseAccess(this); - } + for (int i = 0; i < modules.size(); i++) { + //WorkbenchModule module = (WorkbenchModule) modules.get(i); + //TODO fix up code here for modules instead of projects +// EARNatureRuntime runtime = EARNatureRuntime.getRuntime(project); +// if (runtime == null) +// continue; +// EAREditModel editModel = runtime.getEarEditModelForRead(this); +// try { +// referencedProjects.addAll(editModel.getModuleMappedProjects()); +// } finally { +// editModel.releaseAccess(this); +// } } } @@ -306,12 +316,10 @@ public class J2EERenameAction extends SelectionDispatchAction implements J2EERen // only web projects should have a context root String newContextRoot = options.getNewContextRoot(); if (newContextRoot != null && options.shouldRenameProjects()) { - IProject project = (IProject) getProjects().get(0); + //WorkbenchModule module = (WorkbenchModule) getModules().get(0); try { - IProject newProject = project.getWorkspace().getRoot().getProject(options.getNewName()); - J2EEWebNatureRuntime runtime = J2EEWebNatureRuntime.getRuntime(newProject); - if (runtime != null) - runtime.setContextRoot(newContextRoot); + // TODO add server context root to the module model + //module.setServerContextRoot(newContextRoot); } catch (Throwable t) { //Ignore } @@ -345,30 +353,6 @@ public class J2EERenameAction extends SelectionDispatchAction implements J2EERen } } - protected boolean isJ2EEProject(Object o) { - boolean retVal = false; - if (o instanceof JavaProject) { - o = ((JavaProject) o).getProject(); - } - if (o instanceof IProject) { - IProject project = (IProject) o; - try { - if (EJBNatureRuntime.hasRuntime(project)) { - retVal = true; - } else if (project.hasNature(IWebNatureConstants.J2EE_NATURE_ID)) { - retVal = true; - } else if (ApplicationClientNatureRuntime.hasRuntime(project)) { - retVal = true; - } else if (ConnectorNatureRuntime.hasRuntime(project)) { - retVal = true; - } - } catch (Throwable t) { - retVal = false; - } - } - return retVal; - } - protected boolean isJ2EEApplicationProject(Object o) { boolean retVal = false; if (o instanceof IProject) { diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameParticipant.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameParticipant.java index fa5bdbd5d..917e0a435 100644 --- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameParticipant.java +++ b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameParticipant.java @@ -97,8 +97,9 @@ public class J2EERenameParticipant extends RenameParticipant { if (targetElements == null || targetElements.length != 1) return null; IProject project = (IProject) AdaptabilityUtility.getAdapter(targetElements[0], IPROJECT_CLASS); - if (project != null) - return new J2EEModuleRenameChange(project, getArguments().getNewName(), getArguments().getUpdateReferences()); + // TODO switch to be module based, not project based + //if (project != null) + // return new J2EEModuleRenameChange(project, getArguments().getNewName(), getArguments().getUpdateReferences()); return null; } diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/OpenJ2EEResourceAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/OpenJ2EEResourceAction.java index d08e8758f..b612ded31 100644 --- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/OpenJ2EEResourceAction.java +++ b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/OpenJ2EEResourceAction.java @@ -16,6 +16,7 @@ import java.util.List; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; +import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.jem.java.JavaClass; @@ -37,7 +38,7 @@ import org.eclipse.jst.j2ee.internal.project.IEJBNatureConstants; import org.eclipse.jst.j2ee.internal.project.IWebNatureConstants; import org.eclipse.jst.j2ee.internal.project.J2EEModuleNature; import org.eclipse.jst.j2ee.internal.project.J2EENature; -import org.eclipse.jst.j2ee.internal.web.operations.J2EEWebNatureRuntime; +import org.eclipse.jst.j2ee.internal.web.util.WebArtifactEdit; import org.eclipse.jst.j2ee.internal.webservices.WSDLServiceExtManager; import org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper; import org.eclipse.jst.j2ee.jca.Connector; @@ -57,6 +58,11 @@ import org.eclipse.ui.part.FileEditorInput; import org.eclipse.ui.part.ISetSelectionTarget; import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper; import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel; +import org.eclipse.wst.common.modulecore.ArtifactEdit; +import org.eclipse.wst.common.modulecore.ModuleCore; +import org.eclipse.wst.common.modulecore.UnresolveableURIException; +import org.eclipse.wst.common.modulecore.WorkbenchModule; +import org.eclipse.wst.common.modulecore.WorkbenchModuleResource; import sun.misc.Service; @@ -282,13 +288,36 @@ public class OpenJ2EEResourceAction extends AbstractOpenAction { // Handle Servlet Link case else { linkName = ((ServletLink) link).getServletLink(); - WebApp webApp = J2EEWebNatureRuntime.getRuntime(p).getWebApp(); - if (webApp == null) - return; - Servlet servlet = webApp.getServletNamed(linkName); - if (servlet == null) - return; - javaClass = servlet.getServletClass(); + URI uri = link.eResource().getURI(); + ModuleCore moduleCore = null; + WebArtifactEdit webEdit = null; + WebApp webApp = null; + try{ + moduleCore = ModuleCore.getModuleCoreForRead(p); + WorkbenchModuleResource[] resources = moduleCore.findWorkbenchModuleResourcesBySourcePath(uri); + WorkbenchModule module = null; + for (int i=0; i<resources.length; i++) { + module = resources[i].getModule(); + if (module != null) + break; + } + webEdit = WebArtifactEdit.getWebArtifactEditForRead(module); + if(webEdit != null) + webApp = (WebApp) webEdit.getDeploymentDescriptorRoot(); + if (webApp == null) + return; + Servlet servlet = webApp.getServletNamed(linkName); + if (servlet == null) + return; + javaClass = servlet.getServletClass(); + } catch (UnresolveableURIException e) { + //Ignore + } finally{ + if (moduleCore != null) + moduleCore.dispose(); + if( webEdit != null ) + webEdit.dispose(); + } } // Open java editor on the selected objects associated java file try { diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyCommand.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyCommand.java index 5e6af0d4b..99ee2c62e 100644 --- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyCommand.java +++ b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyCommand.java @@ -14,8 +14,8 @@ import java.util.Collections; import org.eclipse.emf.common.command.AbstractCommand; import org.eclipse.emf.ecore.EObject; -import org.eclipse.wst.common.emf.utilities.CopyGroup; -import org.eclipse.wst.common.emf.utilities.EtoolsCopyUtility; +import org.eclipse.wst.common.internal.emf.utilities.CopyGroup; +import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopyUtility; public class J2EECopyCommand extends AbstractCommand { diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyFromClipboardCommand.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyFromClipboardCommand.java index 173082e39..4e9d19fd8 100644 --- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyFromClipboardCommand.java +++ b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyFromClipboardCommand.java @@ -17,8 +17,8 @@ import java.util.Collection; import org.eclipse.emf.common.command.AbstractCommand; import org.eclipse.emf.ecore.EObject; import org.eclipse.jst.j2ee.internal.provider.J2EEUIEditingDomain; -import org.eclipse.wst.common.emf.utilities.CopyGroup; -import org.eclipse.wst.common.emf.utilities.EtoolsCopyUtility; +import org.eclipse.wst.common.internal.emf.utilities.CopyGroup; +import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopyUtility; /** diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyToClipboardOverrideCommand.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyToClipboardOverrideCommand.java index 1fa002f30..cf1fa3acb 100644 --- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyToClipboardOverrideCommand.java +++ b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyToClipboardOverrideCommand.java @@ -16,7 +16,7 @@ import org.eclipse.emf.common.command.CompoundCommand; import org.eclipse.emf.common.command.UnexecutableCommand; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.edit.command.CopyToClipboardCommand; -import org.eclipse.wst.common.emf.utilities.EtoolsCopyUtility; +import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopyUtility; public class J2EECopyToClipboardOverrideCommand extends CopyToClipboardCommand { diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEExportPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEExportPage.java index ee1a48e86..6bc6feb05 100644 --- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEExportPage.java +++ b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEExportPage.java @@ -28,6 +28,7 @@ import org.eclipse.jst.j2ee.application.operations.EnterpriseApplicationExportDa import org.eclipse.jst.j2ee.application.operations.J2EEArtifactExportDataModel; import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages; import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin; +import org.eclipse.jst.j2ee.internal.project.IWebNatureConstants; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -345,6 +346,10 @@ public abstract class J2EEExportPage extends WTPWizardPage { protected String getFileNamesStoreID() { return getNatureID(); } + + protected String getNatureID() { + return IWebNatureConstants.J2EE_NATURE_ID; + } /** * @return @@ -370,7 +375,7 @@ public abstract class J2EEExportPage extends WTPWizardPage { /** * @return */ - protected abstract String getNatureID(); + //protected abstract String getNatureID(); protected abstract boolean isMetaTypeSupported(Object o); |