You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by mc...@apache.org on 2008/05/31 05:02:58 UTC

svn commit: r661935 - /geronimo/devtools/eclipse-plugin/branches/2.0.1/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/internal/DependencyHelper.java

Author: mcconne
Date: Fri May 30 20:02:58 2008
New Revision: 661935

URL: http://svn.apache.org/viewvc?rev=661935&view=rev
Log:
GERONIMODEVTOOLS-347 Properly handle circular dependency on self

Modified:
    geronimo/devtools/eclipse-plugin/branches/2.0.1/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/internal/DependencyHelper.java

Modified: geronimo/devtools/eclipse-plugin/branches/2.0.1/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/internal/DependencyHelper.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/branches/2.0.1/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/internal/DependencyHelper.java?rev=661935&r1=661934&r2=661935&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/branches/2.0.1/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/internal/DependencyHelper.java (original)
+++ geronimo/devtools/eclipse-plugin/branches/2.0.1/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/internal/DependencyHelper.java Fri May 30 20:02:58 2008
@@ -224,13 +224,14 @@
         }
         for (Iterator ii = parents.iterator(); ii.hasNext();) {
             ArtifactType artifact = (ArtifactType)ii.next();
-            if (dm.getParents(artifact).size() > 0 && !artifact.equals(terminatingArtifact)) {
+            if (dm.getParents(artifact).size() > 0 && !artifact.equals(terminatingArtifact) &&
+               !dm.getParents(artifact).contains(artifact) && !dm.getChildren(artifact).contains(artifact)) {
                 // Keep processing parents (as long as no circular dependencies)
                 processParents(dm.getParents(artifact), terminatingArtifact);
                 // Move self 
                 IModule[] module = getModule(artifact);
+                int moduleDeltaKind = getDeltaKind(artifact);
                 if (module!=null && !reorderedModules.contains(module)) {
-                if (!reorderedModules.contains(module)) {
                     reorderedModules.add(module);
                     reorderedKinds.add(moduleDeltaKind);
                 }