[jbosstools-commits] JBoss Tools SVN: r7015 - in trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core: refactoring and 1 other directory.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Wed Mar 19 12:35:47 EDT 2008
Author: akazakov
Date: 2008-03-19 12:35:47 -0400 (Wed, 19 Mar 2008)
New Revision: 7015
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/ISeamFacetDataModelProperties.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProjectChange.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProjectParticipant.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1919 Added Refactoring project names
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/ISeamFacetDataModelProperties.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/ISeamFacetDataModelProperties.java 2008-03-19 16:27:17 UTC (rev 7014)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/ISeamFacetDataModelProperties.java 2008-03-19 16:35:47 UTC (rev 7015)
@@ -109,6 +109,11 @@
String TEST_CREATING = "seam.test.creating"; //$NON-NLS-1$
/**
+ * Parent war project for EJB and Test projects.
+ */
+ String SEAM_PARENT_PROJECT = "seam.parent.project"; //$NON-NLS-1$
+
+ /**
* Ejb project name created from Seam Web Project in EAR deployment configuration
*/
String SEAM_EJB_PROJECT = "seam.ejb.project"; //$NON-NLS-1$
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProjectChange.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProjectChange.java 2008-03-19 16:27:17 UTC (rev 7014)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProjectChange.java 2008-03-19 16:35:47 UTC (rev 7015)
@@ -14,7 +14,9 @@
import java.util.List;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ProjectScope;
+import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.OperationCanceledException;
@@ -23,6 +25,7 @@
import org.eclipse.ltk.core.refactoring.Change;
import org.eclipse.ltk.core.refactoring.RefactoringStatus;
import org.jboss.tools.seam.core.SeamCorePlugin;
+import org.jboss.tools.seam.internal.core.project.facet.ISeamFacetDataModelProperties;
import org.osgi.service.prefs.BackingStoreException;
/**
@@ -32,30 +35,43 @@
IProject project;
String newName;
String oldName;
-
- static String[] PROPERTIES = {
- "seam.parent.project",
- "seam.ear.project",
- "seam.ejb.project",
- "seam.test.project"
+
+ static String[] PROJECT_NAME_PROPERTIES = {
+ ISeamFacetDataModelProperties.SEAM_PARENT_PROJECT,
+ ISeamFacetDataModelProperties.SEAM_EAR_PROJECT,
+ ISeamFacetDataModelProperties.SEAM_EJB_PROJECT,
+ ISeamFacetDataModelProperties.SEAM_TEST_PROJECT
};
-
- List<String> relevantProperties = new ArrayList<String>();
-
+
+ static String[] SOURCE_FOLDER_PROPERTIES = {
+ ISeamFacetDataModelProperties.ENTITY_BEAN_SOURCE_FOLDER,
+ ISeamFacetDataModelProperties.SESSION_BEAN_SOURCE_FOLDER,
+ ISeamFacetDataModelProperties.TEST_SOURCE_FOLDER,
+ ISeamFacetDataModelProperties.WEB_CONTENTS_FOLDER
+ };
+
+ List<String> relevantProjectNameProperties = new ArrayList<String>();
+ List<String> relevantSourceFolderProperties = new ArrayList<String>();
+
public SeamRenameProjectChange(IProject project, String newName, String oldName) {
this.project = project;
this.newName = newName;
this.oldName = oldName;
IEclipsePreferences ps = getSeamPreferences();
- for (int i = 0; i < PROPERTIES.length; i++) {
- if(oldName.equals(ps.get(PROPERTIES[i], null))) {
- relevantProperties.add(PROPERTIES[i]);
- }
+ for (int i = 0; i < PROJECT_NAME_PROPERTIES.length; i++) {
+ if(oldName.equals(ps.get(PROJECT_NAME_PROPERTIES[i], null))) {
+ relevantProjectNameProperties.add(PROJECT_NAME_PROPERTIES[i]);
+ }
}
+ for (int i = 0; i < SOURCE_FOLDER_PROPERTIES.length; i++) {
+ if(ps.get(SOURCE_FOLDER_PROPERTIES[i], "").startsWith("/" + oldName + "/")) {
+ relevantSourceFolderProperties.add(SOURCE_FOLDER_PROPERTIES[i]);
+ }
+ }
}
-
+
public boolean isRelevant() {
- return relevantProperties.size() > 0;
+ return relevantProjectNameProperties.size() > 0 || relevantSourceFolderProperties.size() > 0;
}
@Override
@@ -65,7 +81,7 @@
@Override
public String getName() {
- return project.getName();
+ return "Update Seam Project Properties for " + project.getName();
}
@Override
@@ -73,8 +89,7 @@
}
@Override
- public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException,
- OperationCanceledException {
+ public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException, OperationCanceledException {
return new RefactoringStatus();
}
@@ -84,12 +99,26 @@
try {
pm.beginTask(getName(), 1);
+ if(project.getName().equals(oldName)) {
+ IResource newProject = ResourcesPlugin.getWorkspace().getRoot().findMember(newName);
+ if(!project.exists() && (newProject instanceof IProject) && newProject.exists()) {
+ project = (IProject)newProject;
+ }
+ }
IEclipsePreferences ps = getSeamPreferences();
- for (String property: relevantProperties) {
+ for (String property: relevantProjectNameProperties) {
if(oldName.equals(ps.get(property, null))) {
ps.put(property, newName);
}
}
+ String oldPrefix = "/" + oldName + "/";
+ for (String property: relevantSourceFolderProperties) {
+ String oldProperty = ps.get(property, "");
+ if(oldProperty.startsWith(oldPrefix) && oldProperty.length()>oldPrefix.length()) {
+ ps.put(property, "/" + newName + "/" + oldProperty.substring(oldPrefix.length()));
+ }
+ }
+
try {
ps.flush();
} catch (BackingStoreException e) {
@@ -105,5 +134,4 @@
IScopeContext projectScope = new ProjectScope(project);
return projectScope.getNode(SeamCorePlugin.PLUGIN_ID);
}
-
-}
+}
\ No newline at end of file
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProjectParticipant.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProjectParticipant.java 2008-03-19 16:27:17 UTC (rev 7014)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProjectParticipant.java 2008-03-19 16:35:47 UTC (rev 7015)
@@ -26,10 +26,10 @@
*/
public class SeamRenameProjectParticipant extends RenameParticipant {
public static final String PARTICIPANT_NAME="seam-RenameProjectParticipant";
-
+
IProject project;
String oldName;
-
+
public SeamRenameProjectParticipant() {}
@Override
@@ -42,7 +42,7 @@
if (!pm.isCanceled()) {
String newName = getArguments().getNewName();
if(newName == null || newName.trim().length() == 0) return null;
- CompositeChange change = new CompositeChange("Update Seam projects");
+ CompositeChange change = new CompositeChange("Update Seam Projects");
IProject[] ps = ResourcesPlugin.getWorkspace().getRoot().getProjects();
for (int i = 0; i < ps.length; i++) {
SeamRenameProjectChange c = new SeamRenameProjectChange(ps[i], newName, oldName);
@@ -67,5 +67,4 @@
oldName = project.getName();
return true;
}
-
-}
+}
\ No newline at end of file
More information about the jbosstools-commits
mailing list