[jboss-dev-forums] [Design of POJO Server] - JBAS-4588; DeploymentSorter

alesj do-not-reply at jboss.com
Mon Nov 10 04:05:51 EST 2008


What exactly does this task want me to do? :-)
 - https://jira.jboss.org/jira/browse/JBAS-4588

We currently have the following configuration:
 - LegacyDeploymentContextComparator (LDCC):

  |    static
  |    {
  |       legacyOrder = new HashMap<String, Integer>();
  |       legacyOrder.put(".deployer", 50);
  |       legacyOrder.put("-deployer.xml", 50);
  |       legacyOrder.put(".aop", 100);
  |       legacyOrder.put("-aop.xml", 100);
  |       legacyOrder.put(".sar", 150);
  |       legacyOrder.put("-service.xml", 150);
  |       legacyOrder.put(".beans", 200);
  |       legacyOrder.put("-jboss-beans.xml", 200);
  |       legacyOrder.put(".rar", 250);
  |       legacyOrder.put("-ds.xml", 300);
  |       legacyOrder.put(".har", 350);
  |       legacyOrder.put(".jar", 400);
  |       legacyOrder.put(".ejb3", 400);
  |       legacyOrder.put(".par", 400);
  |       legacyOrder.put(".war", 500);
  |       legacyOrder.put(".wsr", 600);
  |       legacyOrder.put(".ear", 650);
  |       legacyOrder.put(".jar", 700);
  |       legacyOrder.put(".zip", 750);
  |       legacyOrder.put(".bsh", 800);
  |       legacyOrder.put(".last", 900);
  |    }
  | 
  |    private boolean useDefaults = true;
  |    private Map<String, Integer> suffixOrder;
  |    private int defaultOrder = 850;
  | 
  |    /**
  |     * Get the instance.
  |     *
  |     * @return the instance
  |     */
  |    public static LegacyDeploymentContextComparator getInstance()
  |    {
  |       return INSTANCE;
  |    }
  | 
  |    public int compare(DeploymentContext fst, DeploymentContext snd)
  |    {
  |       int fstOrder = getContextOrder(fst);
  |       int sndOrder = getContextOrder(snd);
  |       int diff = fstOrder - sndOrder;
  |       if (diff != 0)
  |          return diff;
  |       else
  |          return super.compare(fst, snd);
  |    }
  | 
  |    /**
  |     * Get context's order.
  |     *
  |     * @param context the deployment context
  |     * @return context's order, or default if no match
  |     */
  |    protected int getContextOrder(DeploymentContext context)
  |    {
  |       String simpleName = context.getSimpleName();
  |       for (Map.Entry<String, Integer> entry : suffixOrder.entrySet())
  |       {
  |          if (simpleName.endsWith(entry.getKey()))
  |             return entry.getValue();
  |       }
  |       return defaultOrder;
  |    }
  | 
 - LDCC is then used in MainDeployer::comparator
 - LDCC is used in EARStructure::comparatorClassName
 - jboss-structure.xml/context can now take comparator attribute

What else do we need?

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4188026#4188026

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4188026



More information about the jboss-dev-forums mailing list