[jboss-cvs] JBossAS SVN: r98933 - in projects/jboss-deployers/trunk: deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Dec 24 07:59:05 EST 2009


Author: alesj
Date: 2009-12-24 07:59:04 -0500 (Thu, 24 Dec 2009)
New Revision: 98933

Modified:
   projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java
   projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/TopologicalDeployerSorter.java
   projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/TopologicalOrderingUnitTestCase.java
   projects/jboss-deployers/trunk/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractDeployer.java
Log:
Relative order by default should be Integer.MAX.

Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java	2009-12-24 12:27:51 UTC (rev 98932)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java	2009-12-24 12:59:04 UTC (rev 98933)
@@ -103,7 +103,7 @@
             if (relation == 0)
             {
                // lazy compare on those who don't have order set
-               if (one.getRelativeOrder() != 0 && two.getRelativeOrder() != 0)
+               if (one.getRelativeOrder() != Integer.MAX_VALUE && two.getRelativeOrder() != Integer.MAX_VALUE)
                   relation = one.getRelativeOrder() - two.getRelativeOrder();
             }
             connections[i][j] = relation;

Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/TopologicalDeployerSorter.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/TopologicalDeployerSorter.java	2009-12-24 12:27:51 UTC (rev 98932)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/TopologicalDeployerSorter.java	2009-12-24 12:59:04 UTC (rev 98933)
@@ -27,6 +27,7 @@
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.IdentityHashMap;
 import java.util.List;
 import java.util.Map;
@@ -100,7 +101,7 @@
       if (graph.getEdges().isEmpty() == false)
          throw new IllegalStateException("We have a cycle: " + newDeployer + ", previous: " + original);
 
-      // FIXME - transitive compare doesn't work here
+      // FIXME - transitive compare doesn't work here -- find a better way to map deployers onto ordered inputs/outputs
       Collections.sort(nodes, DeployerNodeComparator.INSTANCE);
       List<Deployer> sortedDeployers = new ArrayList<Deployer>();
       for (DeployerNode node : nodes)
@@ -289,6 +290,21 @@
          {
             if (overlap12 != overlap21)
                return overlap21 - overlap12;
+
+            Set<Vertex<Integer>> tail1 = new HashSet<Vertex<Integer>>(dn1.outputs);
+            tail1.retainAll(dn2.inputs);
+            Set<Vertex<Integer>> tail2 = new HashSet<Vertex<Integer>>(dn2.outputs);
+            tail2.retainAll(dn1.inputs);
+            int s1 = tail1.size();
+            int s2 = tail2.size();
+            if (s1 != s2)
+            {
+               return s2 - s1;
+            }
+            else
+            {
+               overlap12 = overlap21 = -1; // reset               
+            }
          }
 
          if (overlap12 >= 0)

Modified: projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/TopologicalOrderingUnitTestCase.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/TopologicalOrderingUnitTestCase.java	2009-12-24 12:27:51 UTC (rev 98932)
+++ projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/TopologicalOrderingUnitTestCase.java	2009-12-24 12:59:04 UTC (rev 98933)
@@ -63,26 +63,8 @@
    }
 
    @Override
-   public void testOrderedThenFlowWithPassThrough() throws Exception
-   {
-      // TODO - fix final DeployerNodes sort
-   }
-
-   @Override
-   public void testWebServicesDeployersOrder() throws Exception
-   {
-      // TODO - fix final DeployerNodes sort
-   }
-
-   @Override
    public void testDeployersOrder1() throws Exception
    {
       // TODO - fix final DeployerNodes sort
    }
-
-   @Override
-   public void testRemovingOverlapping() throws Exception
-   {
-      // TODO - fix final DeployerNodes sort
-   }
 }
\ No newline at end of file

Modified: projects/jboss-deployers/trunk/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractDeployer.java	2009-12-24 12:27:51 UTC (rev 98932)
+++ projects/jboss-deployers/trunk/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractDeployer.java	2009-12-24 12:59:04 UTC (rev 98933)
@@ -42,7 +42,7 @@
    protected Logger log = Logger.getLogger(getClass());
    
    /** The relative order */
-   private int relativeOrder = 0;
+   private int relativeOrder = Integer.MAX_VALUE;
    
    /** The deployment stage */
    private DeploymentStage stage = DeploymentStages.REAL;




More information about the jboss-cvs-commits mailing list