You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ds...@apache.org on 2010/08/09 10:53:00 UTC

svn commit: r983558 - in /felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor: ExportPackageChange.java MovePackageParticipant.java RefactorUtil.java

Author: dsavage
Date: Mon Aug  9 08:53:00 2010
New Revision: 983558

URL: http://svn.apache.org/viewvc?rev=983558&view=rev
Log:
tidy up/refactor in prep for FELIX-2500

Modified:
    felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/ExportPackageChange.java
    felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/MovePackageParticipant.java
    felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/RefactorUtil.java

Modified: felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/ExportPackageChange.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/ExportPackageChange.java?rev=983558&r1=983557&r2=983558&view=diff
==============================================================================
--- felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/ExportPackageChange.java (original)
+++ felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/ExportPackageChange.java Mon Aug  9 08:53:00 2010
@@ -74,7 +74,7 @@ public class ExportPackageChange extends
     {
         if (oldExport != null)
         {
-            sigil.getBundle().getBundleInfo().removeChild(oldExport);
+            sigil.getBundle().getBundleInfo().removeExport(oldExport);
         }
 
         if (newExport != null)

Modified: felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/MovePackageParticipant.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/MovePackageParticipant.java?rev=983558&r1=983557&r2=983558&view=diff
==============================================================================
--- felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/MovePackageParticipant.java (original)
+++ felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/MovePackageParticipant.java Mon Aug  9 08:53:00 2010
@@ -25,7 +25,6 @@ import java.util.Set;
 
 import org.apache.felix.sigil.common.model.ModelElementFactory;
 import org.apache.felix.sigil.common.model.osgi.IPackageExport;
-import org.apache.felix.sigil.common.model.osgi.IPackageImport;
 import org.apache.felix.sigil.eclipse.SigilCore;
 import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
 import org.apache.felix.sigil.eclipse.model.util.JavaHelper;
@@ -89,7 +88,9 @@ public class MovePackageParticipant exte
                     else
                     {
                         SubMonitor sub = SubMonitor.convert(monitor);
-
+                        
+                        sub.beginTask("Resolving package users", 200);
+                        
                         Set<String> users = JavaHelper.findLocalPackageUsers(
                             sourceProject, packageName, sub.newChild(100));
                         Set<String> dependencies = JavaHelper.findLocalPackageDependencies(
@@ -104,18 +105,18 @@ public class MovePackageParticipant exte
 
                         if (users.size() > 0)
                         { // attempt to move an API package
-                            IPackageExport newExport = createNewExport(status,
+                            IPackageExport newExport = RefactorUtil.createNewExport(status, changes,
                                 destProject, packageName);
-                            createNewImport(status, sourceProject, newExport);
+                            RefactorUtil.createNewImport(status, changes, sourceProject, newExport);
                         }
 
                         if (dependencies.size() > 0)
                         { // moved an impl package
                             for (String dep : dependencies)
                             {
-                                IPackageExport newExport = createNewExport(status,
+                                IPackageExport newExport = RefactorUtil.createNewExport(status, changes,
                                     sourceProject, dep);
-                                createNewImport(status, destProject, newExport);
+                                RefactorUtil.createNewImport(status, changes, destProject, newExport);
                             }
                         }
                     }
@@ -134,33 +135,6 @@ public class MovePackageParticipant exte
         }
     }
 
-    private void createNewImport(RefactoringStatus status, ISigilProjectModel project,
-        IPackageExport export)
-    {
-        IPackageImport newImport = ModelElementFactory.getInstance().newModelElement(
-            IPackageImport.class);
-        newImport.setPackageName(export.getPackageName());
-        newImport.setVersions(ModelHelper.getDefaultRange(export.getVersion()));
-
-        status.addInfo("Creating new import in " + project.getSymbolicName());
-        changes.add(new ImportPackageChange(project, null, newImport));
-    }
-
-    private IPackageExport createNewExport(RefactoringStatus status,
-        ISigilProjectModel project, String packageName)
-    {
-        IPackageExport newExport = ModelElementFactory.getInstance().newModelElement(
-            IPackageExport.class);
-        newExport.setPackageName(packageName);
-        // new export inherits project version by default
-        newExport.setVersion(project.getVersion());
-
-        status.addInfo("Creating new export " + packageName + " in "
-            + project.getSymbolicName());
-        changes.add(new ExportPackageChange(project, null, newExport));
-        return newExport;
-    }
-
     @Override
     public Change createChange(IProgressMonitor monitor) throws CoreException,
         OperationCanceledException

Modified: felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/RefactorUtil.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/RefactorUtil.java?rev=983558&r1=983557&r2=983558&view=diff
==============================================================================
--- felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/RefactorUtil.java (original)
+++ felix/trunk/sigil/eclipse/ui/src/org/apache/felix/sigil/eclipse/ui/internal/refactor/RefactorUtil.java Mon Aug  9 08:53:00 2010
@@ -19,10 +19,18 @@
 
 package org.apache.felix.sigil.eclipse.ui.internal.refactor;
 
+import java.util.List;
+
+import org.apache.felix.sigil.common.model.ModelElementFactory;
+import org.apache.felix.sigil.common.model.osgi.IPackageExport;
+import org.apache.felix.sigil.common.model.osgi.IPackageImport;
 import org.apache.felix.sigil.eclipse.SigilCore;
 import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.util.ModelHelper;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.mapping.IResourceChangeDescriptionFactory;
+import org.eclipse.ltk.core.refactoring.Change;
+import org.eclipse.ltk.core.refactoring.RefactoringStatus;
 import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
 import org.eclipse.ltk.core.refactoring.participants.ResourceChangeChecker;
 
@@ -38,5 +46,32 @@ class RefactorUtil
         IResourceChangeDescriptionFactory deltaFactory = checker.getDeltaFactory();
         IFile file = sigil.getProject().getFile(SigilCore.SIGIL_PROJECT_FILE);
         deltaFactory.change(file);
+    }    
+    
+    static void createNewImport(RefactoringStatus status, List<Change> changes, ISigilProjectModel project,
+        IPackageExport export)
+    {
+        IPackageImport newImport = ModelElementFactory.getInstance().newModelElement(
+            IPackageImport.class);
+        newImport.setPackageName(export.getPackageName());
+        newImport.setVersions(ModelHelper.getDefaultRange(export.getVersion()));
+
+        status.addInfo("Creating new import in " + project.getSymbolicName());
+        changes.add(new ImportPackageChange(project, null, newImport));
     }
+
+    static IPackageExport createNewExport(RefactoringStatus status,
+        List<Change> changes, ISigilProjectModel project, String packageName)
+    {
+        IPackageExport newExport = ModelElementFactory.getInstance().newModelElement(
+            IPackageExport.class);
+        newExport.setPackageName(packageName);
+        // new export inherits project version by default
+        newExport.setVersion(project.getVersion());
+
+        status.addInfo("Creating new export " + packageName + " in "
+            + project.getSymbolicName());
+        changes.add(new ExportPackageChange(project, null, newExport));
+        return newExport;
+    }    
 }