Author: scabanovich
Date: 2010-10-13 10:05:59 -0400 (Wed, 13 Oct 2010)
New Revision: 25785
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/handlers/bean/JSFRenameFieldChange.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/handlers/bean/JSFRenameFieldHelper.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/handlers/bean/JSFRenameFieldParticipant.java
Log:
JBIDE-7299
https://jira.jboss.org/browse/JBIDE-7299
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2010-10-13 13:40:15 UTC (rev 25784)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2010-10-13 14:05:59 UTC (rev 25785)
@@ -58,6 +58,7 @@
<with variable="element">
<or>
<instanceof value="org.eclipse.jdt.core.IField"/>
+ <instanceof value="org.eclipse.jdt.core.IMethod"/>
<instanceof
value="org.jboss.tools.jsf.model.impl.ManagedPropertyObjectImpl"/>
</or>
</with>
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/handlers/bean/JSFRenameFieldChange.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/handlers/bean/JSFRenameFieldChange.java 2010-10-13
13:40:15 UTC (rev 25784)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/handlers/bean/JSFRenameFieldChange.java 2010-10-13
14:05:59 UTC (rev 25785)
@@ -12,6 +12,7 @@
import org.eclipse.core.resources.*;
import org.eclipse.jdt.core.IField;
+import org.eclipse.jdt.core.IMember;
import org.jboss.tools.common.model.*;
import org.jboss.tools.common.model.project.IModelNature;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
@@ -27,7 +28,7 @@
super(beanProperty.getModel(), newName,
JSFRenameFieldHelper.getReplacements(beanProperty, newName));
}
- private static XModel getModel(IField field) {
+ static XModel getModel(IMember field) {
if(field == null || field.getJavaProject() == null) return null;
IProject project = field.getJavaProject().getProject();
if(!JSFNature.hasJSFNature(project)) return null;
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/handlers/bean/JSFRenameFieldHelper.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/handlers/bean/JSFRenameFieldHelper.java 2010-10-13
13:40:15 UTC (rev 25784)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/handlers/bean/JSFRenameFieldHelper.java 2010-10-13
14:05:59 UTC (rev 25785)
@@ -13,6 +13,7 @@
import java.util.Properties;
import org.eclipse.jdt.core.IField;
+import org.eclipse.jdt.core.IMember;
import org.jboss.tools.common.model.*;
import org.jboss.tools.jsf.model.pv.*;
@@ -42,7 +43,7 @@
return p;
}
- public static XModelObject[] getBeanList(XModel model, IField field) {
+ public static XModelObject[] getBeanList(XModel model, IMember field) {
String clsname = field.getDeclaringType().getFullyQualifiedName();
JSFProjectsRoot root = JSFProjectsTree.getProjectsRoot(model);
JSFProjectBeans beans = (root == null) ? null :
(JSFProjectBeans)root.getChildByPath(JSFProjectTreeConstants.BEANS);
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/handlers/bean/JSFRenameFieldParticipant.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/handlers/bean/JSFRenameFieldParticipant.java 2010-10-13
13:40:15 UTC (rev 25784)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/handlers/bean/JSFRenameFieldParticipant.java 2010-10-13
14:05:59 UTC (rev 25785)
@@ -13,6 +13,7 @@
import java.util.ArrayList;
import org.eclipse.core.runtime.*;
import org.eclipse.jdt.core.IField;
+import org.eclipse.jdt.core.IMethod;
import org.eclipse.ltk.core.refactoring.*;
import org.eclipse.ltk.core.refactoring.participants.*;
import org.jboss.tools.common.model.*;
@@ -20,9 +21,10 @@
import org.jboss.tools.common.model.refactoring.RenameModelObjectChange;
import org.jboss.tools.common.model.refactoring.RenameProcessorRunner;
-public class JSFRenameFieldParticipant extends RenameParticipant {
+public class JSFRenameFieldParticipant extends RenameParticipant implements
ISharableParticipant {
public static final String PARTICIPANT_NAME="jsf-RenameFieldParticipant";
//$NON-NLS-1$
private IField field;
+ private IMethod method;
private XModelObject object;
public JSFRenameFieldParticipant() {}
@@ -32,10 +34,17 @@
field = (IField)element;
} else if(element instanceof XModelObject) {
this.object = (XModelObject)element;
+ } else if(element instanceof IMethod) {
+ method = (IMethod)element;
}
- return field != null || object != null;
+ return field != null || object != null || method != null;
}
+ public void addElement(Object element, RefactoringArguments arguments) {
+ // TODO Auto-generated method stub
+
+ }
+
public String getName() {
return PARTICIPANT_NAME;
}
@@ -57,6 +66,8 @@
XModelObject[] os = JSFRenameFieldHelper.getBeanList(model, field);
os = getProperties(os, field.getElementName());
RenameModelObjectChange c1 = RenameModelObjectChange.createChange(os, newName,
"property-name"); //$NON-NLS-1$
+
+ c2 = null;
if(c1 == null) return c2;
if(c2 == null) return c1;
@@ -64,6 +75,16 @@
if(c1 != null) change.add(c1);
if(c2 != null) change.add(c2);
return change;
+ } else if(method != null) {
+ XModel model = JSFRenameFieldChange.getModel(method);
+ if(model == null) return null;
+ XModelObject[] os = JSFRenameFieldHelper.getBeanList(model, method);
+ String name = method.getElementName();
+ if(!name.startsWith("get") && !name.startsWith("set"))
return null;
+ name = name.substring(3, 4).toLowerCase() + name.substring(4);
+ os = getProperties(os, name);
+ RenameModelObjectChange c1 = RenameModelObjectChange.createChange(os, newName,
"property-name"); //$NON-NLS-1$
+ return c1;
} else if(object != null) {
RenameModelObjectChange c1 = RenameModelObjectChange.createChange(new
XModelObject[]{object}, getArguments().getNewName(), "property-name");
//$NON-NLS-1$