You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2004/02/06 15:43:14 UTC

cvs commit: cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/event/impl JavaClassWidgetListenerBuilder.java JavaScriptWidgetListenerBuilder.java

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);
           }
       }
  -    
   }