[jbosstools-commits] JBoss Tools SVN: r23219 - trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Sun Jul 4 14:34:13 EDT 2010
Author: dazarov
Date: 2010-07-04 14:34:12 -0400 (Sun, 04 Jul 2010)
New Revision: 23219
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring/MessagesFileRenameParticipant.java
Log:
https://jira.jboss.org/browse/JBIDE-4858
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring/MessagesFileRenameParticipant.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring/MessagesFileRenameParticipant.java 2010-07-04 09:01:46 UTC (rev 23218)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring/MessagesFileRenameParticipant.java 2010-07-04 18:34:12 UTC (rev 23219)
@@ -11,10 +11,12 @@
package org.jboss.tools.jsf.ui.el.refactoring;
import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.ltk.core.refactoring.Change;
import org.eclipse.ltk.core.refactoring.CompositeChange;
import org.eclipse.ltk.core.refactoring.RefactoringStatus;
@@ -24,6 +26,7 @@
import org.eclipse.text.edits.MultiTextEdit;
import org.eclipse.text.edits.ReplaceEdit;
import org.eclipse.text.edits.TextEdit;
+import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.jsf.ui.JsfUIMessages;
import org.jboss.tools.jst.web.kb.refactoring.SearchUtil;
import org.jboss.tools.jst.web.kb.refactoring.SearchUtil.FileResult;
@@ -44,9 +47,16 @@
if(PROPERTIES_EXT.equals(ext)){
IPath path = file.getFullPath();
+
String newName = getArguments().getNewName();
- String oldName = "\"demo.Messages\"";
+ newName = newName.replace(".properties","");
+ String oldName = getQualifiedName(path);
+ String fileName = file.getName().replace(".properties","");
+ newName = "\""+oldName.replace(fileName,newName)+"\"";
+ System.out.println("newName - <"+newName+">");
+ System.out.println("oldName - <"+oldName+">");
+
SearchUtil su = new SearchUtil(SearchUtil.XML_FILES, oldName);
SearchResult result = su.searchInNodeAttribute(file.getProject(), ":loadBundle", "basename");
for(FileResult fr : result.getEntries()){
@@ -55,7 +65,7 @@
fileChange.setEdit(root);
rootChange.add(fileChange);
for(int position : fr.getPositions()){
- TextEdit edit = new ReplaceEdit(position, oldName.length(), "\""+newName+"\"");
+ TextEdit edit = new ReplaceEdit(position, oldName.length(), newName);
fileChange.addEdit(edit);
}
}
@@ -64,6 +74,25 @@
}
return false;
}
+
+ private String getQualifiedName(IPath path){
+ IJavaProject javaProject = EclipseResourceUtil.getJavaProject(file.getProject());
+
+ // searching java, xml and property files in source folders
+ if(javaProject != null){
+ for(IResource resource : EclipseResourceUtil.getJavaSourceRoots(file.getProject())){
+ IPath javaSource = resource.getFullPath();
+ if(javaSource.segmentCount() == javaSource.matchingFirstSegments(path)){
+ IPath relativePath = path.removeFirstSegments(javaSource.segmentCount());
+ String pathString = relativePath.toString();
+ pathString = pathString.replace(".properties","");
+ pathString = pathString.replace("/",".");
+ return "\""+pathString+"\"";
+ }
+ }
+ }
+ return "";
+ }
@Override
public RefactoringStatus checkConditions(IProgressMonitor pm,
More information about the jbosstools-commits
mailing list