[304999] [refactoring] JSPs should react to java field refactorings
diff --git a/bundles/org.eclipse.jst.jsp.ui/plugin.properties b/bundles/org.eclipse.jst.jsp.ui/plugin.properties
index 35aa393..b176a2e 100644
--- a/bundles/org.eclipse.jst.jsp.ui/plugin.properties
+++ b/bundles/org.eclipse.jst.jsp.ui/plugin.properties
@@ -54,6 +54,7 @@
JSP_Type_Rename_Participant_Extension_Element.name=JSP Type Rename Participant
JSP_Method_Rename_Participant_Extension_Element.name=JSP Method Rename Participant
JSP_Package_Rename_Participant_Extension_Element.name=JSP Package Rename Participant
+JSP_Field_Rename_Participant_Extension_Element.name=JSP Field Rename Participant
JSP_Type_Move_Participant_Extension_Element.name=JSP Type Move Participant
All_JSP_context_type_Extension_Element.name=All JSP
JSP_New_context_type_Extension_Element.name=New JSP
diff --git a/bundles/org.eclipse.jst.jsp.ui/plugin.xml b/bundles/org.eclipse.jst.jsp.ui/plugin.xml
index bb02d00..6b125fc 100644
--- a/bundles/org.eclipse.jst.jsp.ui/plugin.xml
+++ b/bundles/org.eclipse.jst.jsp.ui/plugin.xml
@@ -331,6 +331,23 @@
</with>
</enablement>
</renameParticipant>
+ <renameParticipant
+ class="org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPFieldRenameParticipant"
+ id="org.eclipse.jst.jsp.ui.java.refactoring.JSFieldRenameParticipant"
+ name="%JSP_Field_Rename_Participant_Extension_Element.name">
+ <enablement>
+ <with variable="affectedNatures">
+ <iterate operator="or">
+ <equals value="org.eclipse.jdt.core.javanature">
+ </equals>
+ </iterate>
+ </with>
+ <with variable="element">
+ <instanceof value="org.eclipse.jdt.core.IField">
+ </instanceof>
+ </with>
+ </enablement>
+ </renameParticipant>
</extension>
<!--======================================================================================-->
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIMessages.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIMessages.java
index 2f70c20..5460e8e 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIMessages.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIMessages.java
@@ -58,6 +58,7 @@
public static String BasicRefactorSearchRequestor_4;
public static String BasicRefactorSearchRequestor_5;
public static String BasicRefactorSearchRequestor_6;
+ public static String BasicRefactorSearchRequestor_7;
public static String BreakpointNotAllowed;
public static String _UI_WIZARD_NEW_TITLE;
public static String _UI_WIZARD_NEW_HEADING;
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPluginResources.properties b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPluginResources.properties
index a5d31eb..8d7e070 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPluginResources.properties
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPluginResources.properties
@@ -33,6 +33,7 @@
BasicRefactorSearchRequestor_4=Rename Type ''{0}'' to ''{1}''
BasicRefactorSearchRequestor_5=Rename Package ''{0}'' to ''{1}''
BasicRefactorSearchRequestor_6=JSP Rename Change
+BasicRefactorSearchRequestor_7=Rename Field ''{0}'' to ''{1}''
#
_UI_WIZARD_NEW_TITLE = New JSP File
_UI_WIZARD_NEW_HEADING = JSP
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPFieldRenameParticipant.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPFieldRenameParticipant.java
new file mode 100644
index 0000000..bd9111e
--- /dev/null
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPFieldRenameParticipant.java
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.jsp.ui.internal.java.refactoring;
+
+import org.eclipse.jdt.core.IField;
+import org.eclipse.jdt.core.IJavaElement;
+
+/**
+ * <p>Participant for renaming Java fields in JSP documents</p>
+ *
+ */
+public class JSPFieldRenameParticipant extends JSPRenameParticipant {
+
+ /**
+ * <p>Initializes the name of this participant to the name of the {@link IField}</p>
+ *
+ * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
+ */
+ protected boolean initialize(Object element) {
+ boolean success = false;
+ if(element instanceof IField) {
+ super.fName = ((IField)element).getElementName();
+ success = true;
+ }
+ return success;
+ }
+
+ /**
+ * @see org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPRenameParticipant#isLegalElementType(org.eclipse.jdt.core.IJavaElement)
+ */
+ protected boolean isLegalElementType(IJavaElement element) {
+ return (element instanceof IField);
+ }
+
+ /**
+ * @see org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPRenameParticipant#getSearchRequestor(org.eclipse.jdt.core.IJavaElement, java.lang.String)
+ */
+ protected BasicRefactorSearchRequestor getSearchRequestor(IJavaElement element, String newName) {
+ BasicRefactorSearchRequestor searchRequestor = null;
+
+ if(isLegalElementType(element)) {
+ searchRequestor = new JSPFieldRenameRequestor(element, newName);
+ }
+
+ return searchRequestor;
+ }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPFieldRenameRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPFieldRenameRequestor.java
new file mode 100644
index 0000000..9ccdaf6
--- /dev/null
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPFieldRenameRequestor.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.jsp.ui.internal.java.refactoring;
+
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jst.jsp.ui.internal.JSPUIMessages;
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * <p>Reactor search requestor to rename Java fields in JSP documents</p>
+ *
+ */
+public class JSPFieldRenameRequestor extends BasicRefactorSearchRequestor {
+
+ /**
+ * <p>Constructor</p>
+ *
+ * @param element the old field name
+ * @param newName the new field name
+ */
+ public JSPFieldRenameRequestor(IJavaElement element, String newName) {
+ super(element, newName);
+ }
+
+ /**
+ * @see org.eclipse.jst.jsp.ui.internal.java.refactoring.BasicRefactorSearchRequestor#getDescription()
+ */
+ protected String getDescription() {
+ String fieldName = getElement().getElementName();
+ String newName = getNewName();
+ String description = NLS.bind(JSPUIMessages.BasicRefactorSearchRequestor_7, (new String[]{fieldName, newName})); //$NON-NLS-1$
+ return description;
+ }
+
+}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/RenameElementHandler.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/RenameElementHandler.java
index 1c1b962..20399f9 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/RenameElementHandler.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/RenameElementHandler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 IBM Corporation and others.
+ * Copyright (c) 2008, 2010 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
@@ -14,6 +14,7 @@
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.core.IField;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IMethod;
import org.eclipse.jdt.core.IPackageFragment;
@@ -47,6 +48,9 @@
case IJavaElement.PACKAGE_FRAGMENT:
renameSupport= RenameSupport.create((IPackageFragment)element, element.getElementName(), RenameSupport.UPDATE_REFERENCES);
break;
+ case IJavaElement.FIELD:
+ renameSupport = RenameSupport.create((IField)element, element.getElementName(), RenameSupport.UPDATE_REFERENCES);
+ break;
}
if(renameSupport != null) {
renameSupport.openDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());