[jboss-cvs] JBossAS SVN: r98120 - projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Dec 22 10:49:34 EST 2009
Author: bill.burke at jboss.com
Date: 2009-12-22 10:49:34 -0500 (Tue, 22 Dec 2009)
New Revision: 98120
Modified:
projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SortedDeployers.java
Log:
Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SortedDeployers.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SortedDeployers.java 2009-12-22 14:56:37 UTC (rev 98119)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SortedDeployers.java 2009-12-22 15:49:34 UTC (rev 98120)
@@ -9,7 +9,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
/**
* @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
@@ -19,12 +18,12 @@
{
private static class Entry
{
- static volatile AtomicInteger added = new AtomicInteger(0);
public Deployer deployer;
public int index;
- public final int addedOrder = added.getAndIncrement();
+ private String nameCache;
+
private Entry(Deployer deployer)
{
this.deployer = deployer;
@@ -57,14 +56,11 @@
this.index = index;
}
- public int getAddedOrder()
- {
- return addedOrder;
- }
-
public String toString()
{
- return deployer.toString();
+ // this speeds up things a few milliseconds :)
+ if (nameCache == null) nameCache = deployer.toString();
+ return nameCache;
}
}
@@ -230,7 +226,8 @@
void insertAt(Entry n)
{
entries.add(n.getIndex(), n);
- for (int i = n.getIndex() + 1; i < entries.size(); i++)
+ int esize = entries.size();
+ for (int i = n.getIndex() + 1; i < esize; i++)
{
entries.get(i).setIndex(i);
}
@@ -239,48 +236,33 @@
void removeAt(int index)
{
entries.remove(index);
- for (int i = index; i < entries.size(); i++)
+ int esize = entries.size();
+ for (int i = index; i < esize; i++)
{
entries.get(i).setIndex(i);
}
}
- public static void main(String[] args) throws Exception
- {
- System.out.println("A".compareTo("G"));
- }
-
public void relativeOrdering()
{
for (int i = 0; i < entries.size() - 1; i++)
{
Entry d1 = entries.get(i);
Entry d2 = entries.get(i + 1);
+
+ // optimization. If relative order is the same, we don't have to do a swap
if (d1.getRelativeOrder() == d2.getRelativeOrder())
{
- //if (true) continue;
+ String name1 = d1.toString();
+ String name2 = d2.toString();
+ if (name1.compareTo(name2) < 0) continue;
- // this is with added order
- /*
- if (d1.getAddedOrder() < d2.getAddedOrder())
- {
- continue;
- }
- */
- if (d1.deployer.toString().compareTo(d2.deployer.toString()) < 0) continue;
-
- /*
- if (d1.getInputs().size() == 0 && d2.getInputs().size() > 0)
- {
- continue;
- }
- */
-
if (isIOEqual(d1, d2))
{
swap(i, d1, d2);
- continue;
}
+
+ continue;
}
boolean isEqual = isIOEqual(d1, d2);
if (isEqual)
More information about the jboss-cvs-commits
mailing list