[jboss-cvs] jboss-seam/src/ui/org/jboss/seam/ui ...

Peter Muir peter at bleepbleep.org.uk
Sat Feb 10 18:49:09 EST 2007


  User: pmuir   
  Date: 07/02/10 18:49:09

  Modified:    src/ui/org/jboss/seam/ui  ConverterChain.java
  Log:
  Don't sort the chain so much
  
  Revision  Changes    Path
  1.4       +14 -5     jboss-seam/src/ui/org/jboss/seam/ui/ConverterChain.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: ConverterChain.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/ui/org/jboss/seam/ui/ConverterChain.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- ConverterChain.java	10 Feb 2007 23:45:30 -0000	1.3
  +++ ConverterChain.java	10 Feb 2007 23:49:09 -0000	1.4
  @@ -1,6 +1,6 @@
   package org.jboss.seam.ui;
   
  -
  +import org.jboss.seam.core.AbstractMutable;
   
   import java.util.ArrayList;
   import java.util.Collections;
  @@ -48,6 +48,8 @@
   
      private List<PrioritizableConverter> converters;
   
  +   private boolean dirty;
  +
      public ConverterChain()
      {
         // A Priority Queue would be nice but JSF has issues serializing that
  @@ -82,8 +84,7 @@
               throws ConverterException
      {
         Object output = null;
  -      Collections.sort(converters);
  -      for (Converter converter : converters)
  +      for (Converter converter : getConverters())
         {
            Object result = converter.getAsObject(context, component, value);
            if (!CONTINUE.equals(result))
  @@ -99,8 +100,7 @@
               throws ConverterException
      {
         String output = null;
  -      Collections.sort(converters);
  -      for (Converter converter : converters)
  +      for (Converter converter : getConverters())
         {
            String result = converter.getAsString(context, component, value);
            if (!CONTINUE.equals(result)) 
  @@ -135,6 +135,7 @@
      {
         if (c != null)
         {
  +         dirty = true;
            return converters.add(new PrioritizableConverter(c, priority));
         }
         else
  @@ -150,6 +151,7 @@
      {
         if (c != null)
         {
  +         dirty = true;
            return converters.add(new PrioritizableConverter(c, priority));
         }
         else
  @@ -185,4 +187,11 @@
   
      }
   
  +   private List<PrioritizableConverter> getConverters() {
  +      if (dirty) {
  +         Collections.sort(converters);
  +      }
  +      return converters;
  +   }
  +
   }
  
  
  



More information about the jboss-cvs-commits mailing list