Author: hlship
Date: Sat Apr 21 11:54:22 2007
New Revision: 531082

URL: http://svn.apache.org/viewvc?view=rev&rev=531082
Log:
TAPESTRY-1424: @OnEvent annotation should be simplified to specify at most one 
event and at most one component id

Modified:
    
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/OnEvent.java
    
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/GridColumns.java
    
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentEventImpl.java
    
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/OnEventWorker.java
    
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentEvent.java
    tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/event.apt
    
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/base/BaseEventHandlerDemo.java
    
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app2/pages/TestPageForSubmit.java
    
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentEventImplTest.java
    
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java
    
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/transform/pages/EventHandlerTarget.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/resources/log4j.properties

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/OnEvent.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/OnEvent.java?view=diff&rev=531082&r1=531081&r2=531082
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/OnEvent.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/OnEvent.java
 Sat Apr 21 11:54:22 2007
@@ -1,4 +1,4 @@
-// Copyright 2006 The Apache Software Foundation
+// Copyright 2006, 2007 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -12,62 +12,58 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry.annotations;
-
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import org.apache.tapestry.TapestryConstants;
-
-/**
- * Marks a method as a handler for a client side event. The handler method 
will be invoked when a
- * component triggers an event. Filters on the type of event and on the 
originating component ensure
- * that only the appropriate methods are invoked.
- * <p>
- * Client events include a <em>context</em> of one or more values. These 
context values are
- * included in the action URI. The values are optionally supplied to the 
handler method as
- * parameters. Automatic type coercions from string to the type of the actual 
parameter occur.
- * <p>
- * Handlers may return a value. Returning a non-null value will abort the 
handling of the event, and
- * will usually control the response sent to the client web browser. The 
details are somewhat
- * specific to the type of event and the component involved.
- * <p>
- * If a handler is not found within the originating component (or no handler 
aborts the event
- * handling), then handlers within the containing component will be searched. 
This continues up the
- * page hierarchy. In some cases, having no handlers (or no aborting handlers) 
is considered
- * acceptible; in others, it is an error. Again, this is defined by the type 
of originating
- * component, and the type of event.
- * <p>
- * <strong>If you fail to provide filters on either component or event type, 
then your method will
- * be invoked for all component events, possibly including events that bubble 
up from embedded
- * sub-components. </strong>
- * 
- * 
- */
[EMAIL PROTECTED](ElementType.METHOD)
[EMAIL PROTECTED](RUNTIME)
[EMAIL PROTECTED]
-public @interface OnEvent {
-
-    /**
-     * A list of event types to match. The handler will only be invoked if the 
client event type
-     * matches one of the values.
-     * 
-     * @return
-     * @see TapestryConstants
-     */
-    String[] value() default {};
-
-    /**
-     * A list of component ids. The handler will only be invoked if the id of 
the event originating
-     * component matches one of the values.
-     * 
-     * @return
-     */
-    String[] component() default {};
-
-}
+package org.apache.tapestry.annotations;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+/**
+ * Marks a method as a handler for a client side event. The handler method 
will be invoked when a
+ * component triggers an event. Filters on the type of event and on the 
originating component ensure
+ * that only the appropriate methods are invoked.
+ * <p>
+ * Client events include a <em>context</em> of one or more values. These 
context values are
+ * included in the action URI. The values are optionally supplied to the 
handler method as
+ * parameters. Automatic type coercions from string to the type of the actual 
parameter occur.
+ * <p>
+ * Handlers may return a value. Returning a non-null value will abort the 
handling of the event, and
+ * will usually control the response sent to the client web browser. The 
details are somewhat
+ * specific to the type of event and the component involved.
+ * <p>
+ * If a handler is not found within the originating component (or no handler 
aborts the event
+ * handling), then handlers within the containing component will be searched. 
This continues up the
+ * page hierarchy. In some cases, having no handlers (or no aborting handlers) 
is considered
+ * acceptible; in others, it is an error. Again, this is defined by the type 
of originating
+ * component, and the type of event.
+ * <p>
+ * <strong>If you fail to provide filters on either component or event type, 
then your method will
+ * be invoked for all component events, possibly including events that bubble 
up from embedded
+ * sub-components. </strong>
+ */
[EMAIL PROTECTED](ElementType.METHOD)
[EMAIL PROTECTED](RUNTIME)
[EMAIL PROTECTED]
+public @interface OnEvent
+{
+
+    /**
+     * The event types to match. The handler will only be invoked if the 
client event type matches
+     * the value. If omitted, the default is to match any event. Most 
components emit, at most, one
+     * event named "action".
+     */
+    String value() default "";
+
+    /**
+     * The local id of the component from which the event originates. If not 
specified, then the
+     * default is to match any component. If an event from a component is not 
handled in the
+     * component's container, it is re-triggered inside the component's 
grand-container and will
+     * appear to originate from the container. Thus events that escape a 
component will appear to
+     * originate in the component's container, and so forth.
+     */
+    String component() default "";
+
+}

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/GridColumns.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/GridColumns.java?view=diff&rev=531082&r1=531081&r2=531082
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/GridColumns.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/GridColumns.java
 Sat Apr 21 11:54:22 2007
@@ -19,7 +19,6 @@
 import org.apache.tapestry.Asset;
 import org.apache.tapestry.annotations.Component;
 import org.apache.tapestry.annotations.Inject;
-import org.apache.tapestry.annotations.OnEvent;
 import org.apache.tapestry.annotations.Parameter;
 import org.apache.tapestry.annotations.Path;
 import org.apache.tapestry.beaneditor.PropertyModel;
@@ -85,9 +84,7 @@
         return _columnModel.getId().equals(_sortColumnId);
     }
 
-    @OnEvent(component =
-    { "sort", "sort2" })
-    void sort(String columnId)
+    void onActionFromSort(String columnId)
     {
         if (columnId.equals(_sortColumnId))
         {
@@ -99,6 +96,8 @@
             _sortAscending = true;
         }
     }
+    
+    void onActionFromSort2(String columnId) { onActionFromSort(columnId); }
     
     public Asset getIcon()
     {

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentEventImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentEventImpl.java?view=diff&rev=531082&r1=531081&r2=531082
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentEventImpl.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/ComponentEventImpl.java
 Sat Apr 21 11:54:22 2007
@@ -18,7 +18,6 @@
 import static org.apache.tapestry.ioc.internal.util.Defense.notNull;
 
 import org.apache.tapestry.ComponentEventHandler;
-import org.apache.tapestry.ComponentResources;
 import org.apache.tapestry.ioc.services.TypeCoercer;
 import org.apache.tapestry.runtime.ComponentEvent;
 
@@ -62,24 +61,14 @@
      * doesn't do quite the right think when an event bubbles up past its 
originating component's
      * container (can lead to false matches).
      */
-    public boolean matchesByComponentId(ComponentResources resources, String[] 
componentId)
+    public boolean matchesByComponentId(String componentId)
     {
-        for (String id : componentId)
-        {
-            if (id.equalsIgnoreCase(_originatingComponentId)) return true;
-        }
-
-        return false;
+        return _originatingComponentId.equalsIgnoreCase(componentId);
     }
 
-    public boolean matchesByEventType(String[] eventTypes)
+    public boolean matchesByEventType(String eventType)
     {
-        for (String type : eventTypes)
-        {
-            if (type.equalsIgnoreCase(_eventType)) return true;
-        }
-
-        return false;
+        return _eventType.equalsIgnoreCase(eventType);
     }
 
     public boolean matchesByParameterCount(int parameterCount)

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/OnEventWorker.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/OnEventWorker.java?view=diff&rev=531082&r1=531081&r2=531082
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/OnEventWorker.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/services/OnEventWorker.java
 Sat Apr 21 11:54:22 2007
@@ -17,6 +17,7 @@
 import java.util.List;
 
 import org.apache.tapestry.annotations.OnEvent;
+import org.apache.tapestry.ioc.internal.util.InternalUtils;
 import org.apache.tapestry.ioc.util.BodyBuilder;
 import org.apache.tapestry.model.MutableComponentModel;
 import org.apache.tapestry.runtime.Component;
@@ -36,8 +37,6 @@
 {
     static final String OBJECT_ARRAY_TYPE = "java.lang.Object[]";
 
-    private final String[] _empty = new String[0];
-
     private final static int ANY_NUMBER_OF_PARAMETERS = -1;
 
     public void transform(final ClassTransformation transformation, 
MutableComponentModel model)
@@ -89,32 +88,21 @@
 
         OnEvent annotation = transformation.getMethodAnnotation(method, 
OnEvent.class);
 
-        String[] eventTypes = extractEventTypes(method, annotation);
+        String eventType = extractEventType(method, annotation);
 
-        if (eventTypes.length > 0)
+        if (InternalUtils.isNonBlank(eventType))
         {
-            String fieldName = transformation.addInjectedField(
-                    String[].class,
-                    "eventTypes",
-                    eventTypes);
-
-            builder.addln("if ($1.matchesByEventType(%s))", fieldName);
+            builder.addln("if ($1.matchesByEventType(\"%s\"))", eventType);
             builder.begin();
 
             closeCount++;
         }
 
-        String[] componentIds = extractComponentIds(method, annotation);
+        String componentId = extractComponentId(method, annotation);
 
-        if (componentIds.length > 0)
+        if (InternalUtils.isNonBlank(componentId))
         {
-            String fieldName = transformation.addInjectedField(
-                    String[].class,
-                    "componentIds",
-                    componentIds);
-
-            builder.addln("if ($1.matchesByComponentId(%s, %s))", 
transformation
-                    .getResourcesFieldName(), fieldName);
+            builder.addln("if ($1.matchesByComponentId(\"%s\"))", componentId);
             builder.begin();
 
             closeCount++;
@@ -148,7 +136,7 @@
             builder.end();
     }
 
-    private String[] extractComponentIds(MethodSignature method, OnEvent 
annotation)
+    private String extractComponentId(MethodSignature method, OnEvent 
annotation)
     {
         if (annotation != null) return annotation.component();
 
@@ -158,15 +146,12 @@
 
         int fromx = name.indexOf("From");
 
-        if (fromx < 0) return _empty;
-
-        String componentId = name.substring(fromx + 4);
+        if (fromx < 0) return "";
 
-        return new String[]
-        { componentId };
+        return name.substring(fromx + 4);
     }
 
-    private String[] extractEventTypes(MethodSignature method, OnEvent 
annotation)
+    private String extractEventType(MethodSignature method, OnEvent annotation)
     {
         if (annotation != null) return annotation.value();
 
@@ -180,10 +165,9 @@
 
         // This is intended for onAnyFromComponentId, but just onAny works too 
(and is dangerous).
 
-        if (eventName.equalsIgnoreCase("AnyEvent")) return _empty;
+        if (eventName.equalsIgnoreCase("AnyEvent")) return "";
 
-        return new String[]
-        { eventName };
+        return eventName;
     }
 
     private int getParameterCount(MethodSignature method)

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentEvent.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentEvent.java?view=diff&rev=531082&r1=531081&r2=531082
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentEvent.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/runtime/ComponentEvent.java
 Sat Apr 21 11:54:22 2007
@@ -15,7 +15,6 @@
 package org.apache.tapestry.runtime;
 
 import org.apache.tapestry.ComponentEventHandler;
-import org.apache.tapestry.ComponentResources;
 import org.apache.tapestry.ComponentResourcesCommon;
 
 /**
@@ -32,17 +31,17 @@
      * Returns true if the component event's type matches any of the provided 
values. Comparison is
      * caseless.
      * 
-     * @param eventTypes
+     * @param eventType
      * @return true if there is any match
      */
-    boolean matchesByEventType(String[] eventTypes);
+    boolean matchesByEventType(String eventType);
 
     /**
      * Returns true if the originating component matches any of the components 
identified by their
      * ids. This filter is only relevent in the immediate container of the 
originating component (it
      * will never match at higher levels). Comparison is caseless.
      */
-    boolean matchesByComponentId(ComponentResources resources, String[] 
componentId);
+    boolean matchesByComponentId(String componentId);
 
     /**
      * Returns true if the event context contains the specified number of 
parameters (or more).

Modified: tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/event.apt
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/event.apt?view=diff&rev=531082&r1=531081&r2=531082
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/event.apt 
(original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/event.apt Sat Apr 
21 11:54:22 2007
@@ -125,9 +125,7 @@
 +---+  
   
   If you event type is named "onAny", it will receive all types of events. 
This is rarely what you want!
-  
-  If for some unfathomable reason you want to be notified of the same event 
from multiple components in the same method, you'll need to use the OnEvent 
annotation.  
-  
+    
   Note from Howard: I've found that I prefer the naming convention approach, 
and reserve the annotation just for situations that don't otherwise fit.  
   
 Event Context

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/base/BaseEventHandlerDemo.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/base/BaseEventHandlerDemo.java?view=diff&rev=531082&r1=531081&r2=531082
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/base/BaseEventHandlerDemo.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/base/BaseEventHandlerDemo.java
 Sat Apr 21 11:54:22 2007
@@ -59,7 +59,7 @@
 
     }
 
-    @OnEvent(value = "action")
+    @OnEvent("action")
     void eventHandlerZero()
     {
         addMethodName("parent.eventHandlerZero()");

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app2/pages/TestPageForSubmit.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app2/pages/TestPageForSubmit.java?view=diff&rev=531082&r1=531081&r2=531082
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app2/pages/TestPageForSubmit.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app2/pages/TestPageForSubmit.java
 Sat Apr 21 11:54:22 2007
@@ -15,7 +15,6 @@
 package org.apache.tapestry.integration.app2.pages;
 
 import org.apache.tapestry.annotations.Component;
-import org.apache.tapestry.annotations.OnEvent;
 import org.apache.tapestry.annotations.Persist;
 import org.apache.tapestry.corelib.components.Form;
 import org.apache.tapestry.corelib.components.Submit;
@@ -60,11 +59,14 @@
         this.value = value;
     }
 
-    @OnEvent(component =
-    { "capitalize1", "capitalize2" }, value = "selected")
-    public void onCapitalize()
+    void onSelectedFromCapitalize1()
     {
         value = value.toUpperCase();
+    }
+
+    void onSelectedFromCapitalize2()
+    {
+        onSelectedFromCapitalize1();
     }
 
 }

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentEventImplTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentEventImplTest.java?view=diff&rev=531082&r1=531081&r2=531082
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentEventImplTest.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/ComponentEventImplTest.java
 Sat Apr 21 11:54:22 2007
@@ -49,10 +49,8 @@
         ComponentEvent event = new ComponentEventImpl("eventType", "someId", 
null, handler,
                 _coercer);
 
-        assertTrue(event.matchesByEventType(new String[]
-        { "foo", "eventType", "bar" }));
-        assertFalse(event.matchesByEventType(new String[]
-        { "foo", "bar" }));
+        assertTrue(event.matchesByEventType("eventType"));
+        assertFalse(event.matchesByEventType("foo"));
 
         verify();
     }
@@ -67,8 +65,7 @@
         ComponentEvent event = new ComponentEventImpl("eventType", "someId", 
null, handler,
                 _coercer);
 
-        assertTrue(event.matchesByEventType(new String[]
-        { "EVENTTYPE" }));
+        assertTrue(event.matchesByEventType("EVENTTYPE"));
 
         verify();
     }
@@ -79,13 +76,13 @@
         ComponentEventHandler handler = mockComponentEventHandler();
 
         replay();
+
         ComponentEvent event = new ComponentEventImpl("eventType", "someId", 
null, handler,
                 _coercer);
 
-        assertTrue(event.matchesByComponentId(null, new String[]
-        { "foo", "someId", "bar" }));
-        assertFalse(event.matchesByComponentId(null, new String[]
-        { "foo", "bar" }));
+        assertTrue(event.matchesByComponentId("someId"));
+
+        assertFalse(event.matchesByComponentId("bar"));
 
         verify();
     }
@@ -99,8 +96,7 @@
         ComponentEvent event = new ComponentEventImpl("eventType", "someId", 
null, handler,
                 _coercer);
 
-        assertTrue(event.matchesByComponentId(null, new String[]
-        { "SOMEID" }));
+        assertTrue(event.matchesByComponentId("SOMEID"));
 
         verify();
     }

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java?view=diff&rev=531082&r1=531081&r2=531082
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java
 Sat Apr 21 11:54:22 2007
@@ -1049,10 +1049,8 @@
 
         // Check that the attributes of the annotation match the expectation.
 
-        assertEquals(annotation.value(), new String[]
-        { "fred", "barney" });
-        assertEquals(annotation.component(), new String[]
-        { "alpha", "beta" });
+        assertEquals(annotation.value(), "fred");
+        assertEquals(annotation.component(), "alpha");
 
         verify();
     }

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/transform/pages/EventHandlerTarget.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/transform/pages/EventHandlerTarget.java?view=diff&rev=531082&r1=531081&r2=531082
==============================================================================
--- 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/transform/pages/EventHandlerTarget.java
 (original)
+++ 
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/transform/pages/EventHandlerTarget.java
 Sat Apr 21 11:54:22 2007
@@ -1,4 +1,4 @@
-// Copyright 2006 The Apache Software Foundation
+// Copyright 2006, 2007 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -12,19 +12,14 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry.internal.transform.pages;
-
-import org.apache.tapestry.annotations.OnEvent;
-
-/**
- * 
- */
-public class EventHandlerTarget
-{
-    @OnEvent(value =
-    { "fred", "barney" }, component =
-    { "alpha", "beta" })
-    public void handler()
-    {
-    }
-}
+package org.apache.tapestry.internal.transform.pages;
+
+import org.apache.tapestry.annotations.OnEvent;
+
+public class EventHandlerTarget
+{
+    @OnEvent(value = "fred", component = "alpha")
+    public void handler()
+    {
+    }
+}

Modified: 
tapestry/tapestry5/tapestry-core/trunk/src/test/resources/log4j.properties
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/resources/log4j.properties?view=diff&rev=531082&r1=531081&r2=531082
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/resources/log4j.properties 
(original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/resources/log4j.properties 
Sat Apr 21 11:54:22 2007
@@ -28,5 +28,3 @@
 log4j.category.org.apache.tapestry.integration.app1=error
 log4j.category.org.apache.tapestry.corelib=error
 
-log4j.category.org.apache.tapestry.integration.app1.pages.Localization=debug
-


Reply via email to