vgritsenko    2004/02/06 06:43:14

  Modified:    src/blocks/woody/java/org/apache/cocoon/woody/event
                        WidgetListenerBuilderUtil.java
               src/blocks/woody/java/org/apache/cocoon/woody/event/impl
                        JavaClassWidgetListenerBuilder.java
                        JavaScriptWidgetListenerBuilder.java
  Log:
  Instantiate JavaClassWidgetListenerBuilder and JavaScriptWidgetListenerBuilder
  only once (each), and use their's static INSTANCE instead of creating new 
object
  every time.
  
  Revision  Changes    Path
  1.2       +5 -5      
cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/event/WidgetListenerBuilderUtil.java
  
  Index: WidgetListenerBuilderUtil.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/event/WidgetListenerBuilderUtil.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- WidgetListenerBuilderUtil.java    24 Sep 2003 20:47:05 -0000      1.1
  +++ WidgetListenerBuilderUtil.java    6 Feb 2004 14:43:14 -0000       1.2
  @@ -58,17 +58,17 @@
   /**
    * Quick hack to avoid declaring a component selector and all that stuff for 
now (should be removed
    * in a near future)
  - * 
  + *
    * @author <a href="http://www.apache.org/~sylvain/";>Sylvain Wallez</a>
    * @version CVS $Id$
    */
   public class WidgetListenerBuilderUtil {
  -    
  +
       public static WidgetListener getWidgetListener(Element element, Class 
listenerClass) throws Exception {
           if (element.getLocalName().equals("java")) {
  -            return new 
JavaClassWidgetListenerBuilder().buildListener(element, listenerClass);
  +            return 
JavaClassWidgetListenerBuilder.INSTANCE.buildListener(element, listenerClass);
           } else if (element.getLocalName().equals("javascript")) {
  -            return new 
JavaScriptWidgetListenerBuilder().buildListener(element, listenerClass);
  +            return 
JavaScriptWidgetListenerBuilder.INSTANCE.buildListener(element, listenerClass);
           } else {
               throw new IllegalArgumentException("Unknown listener element " + 
element.getTagName() +
                   " at " + DomHelper.getLocation(element));
  
  
  
  1.2       +4 -4      
cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/event/impl/JavaClassWidgetListenerBuilder.java
  
  Index: JavaClassWidgetListenerBuilder.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/event/impl/JavaClassWidgetListenerBuilder.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JavaClassWidgetListenerBuilder.java       24 Sep 2003 20:47:06 -0000      
1.1
  +++ JavaClassWidgetListenerBuilder.java       6 Feb 2004 14:43:14 -0000       
1.2
  @@ -63,19 +63,19 @@
    * <pre>
    *   &lt;java class="com.my.SuperListener"/&gt;
    * </pre>
  - * 
  + *
    * @author <a href="http://www.apache.org/~sylvain/";>Sylvain Wallez</a>
    */
   public class JavaClassWidgetListenerBuilder implements WidgetListenerBuilder 
{
   
  +    public static final JavaClassWidgetListenerBuilder INSTANCE = new 
JavaClassWidgetListenerBuilder();
  +
       public WidgetListener buildListener(Element element, Class 
listenerClass) throws Exception {
  -        
  +
           String name = DomHelper.getAttribute(element, "class");
   
           Object listener = ClassUtils.newInstance(name);
  -        
           if (listenerClass.isAssignableFrom(listener.getClass())) {
  -            
               // FIXME : apply filecyclehelper
               return (WidgetListener)listener;
           } else {
  
  
  
  1.4       +5 -4      
cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/event/impl/JavaScriptWidgetListenerBuilder.java
  
  Index: JavaScriptWidgetListenerBuilder.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/event/impl/JavaScriptWidgetListenerBuilder.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JavaScriptWidgetListenerBuilder.java      8 Oct 2003 09:13:05 -0000       
1.3
  +++ JavaScriptWidgetListenerBuilder.java      6 Feb 2004 14:43:14 -0000       
1.4
  @@ -70,15 +70,17 @@
    * </pre>
    * As shown above, the event that fired this listener is published as the 
<code>event</code>
    * variable.
  - * 
  + *
    * @author <a href="http://www.apache.org/~sylvain/";>Sylvain Wallez</a>
    */
   public class JavaScriptWidgetListenerBuilder implements 
WidgetListenerBuilder {
   
  +    public static final JavaScriptWidgetListenerBuilder INSTANCE = new 
JavaScriptWidgetListenerBuilder();
  +
       public WidgetListener buildListener(Element element, Class 
listenerClass) throws Exception {
  -        
  +
           Script script = JavaScriptHelper.buildScript(element);
  -        
  +
           if (listenerClass == ActionListener.class) {
               return new JavaScriptWidgetListener.JSActionListener(script);
           } else if (listenerClass == ValueChangedListener.class) {
  @@ -87,5 +89,4 @@
               throw new Exception("Unkonwn event class: " + listenerClass);
           }
       }
  -    
   }
  
  
  

Reply via email to