You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by al...@apache.org on 2011/01/07 00:44:29 UTC

svn commit: r1056122 - in /myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main: java/org/apache/myfaces/html5/behavior/ java/org/apache/myfaces/html5/component/animation/ java/org/apache/myfaces/html5/component/effect/ java/org/apache/myface...

Author: aliok
Date: Thu Jan  6 23:44:28 2011
New Revision: 1056122

URL: http://svn.apache.org/viewvc?rev=1056122&view=rev
Log:
Html5
Refactored effects to animations.

Added:
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/behavior/AnimationsBehavior.java
      - copied, changed from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/behavior/EffectBehavior.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationPulse.java
      - copied, changed from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectPulse.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationScale.java
      - copied, changed from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectPulse.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationShake.java
      - copied, changed from r1052731, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectShake.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimations.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractBaseAnimation.java
      - copied, changed from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffect.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffects.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/OpacityProperties.java
      - copied, changed from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/OpacityProperties.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/RotationProperty.java
      - copied, changed from r1052731, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/ScaleProperties.java
      - copied, changed from r1052731, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/handler/AnimationsHandler.java
      - copied, changed from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/handler/EffectHandler.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationPulseRenderer.java
      - copied, changed from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectPulseRenderer.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationScaleRenderer.java
      - copied, changed from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectPulseRenderer.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationShakeRenderer.java
      - copied, changed from r1052731, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectShakeRenderer.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationsRenderer.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/BaseAnimationRenderer.java
      - copied, changed from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/BaseEffectRenderer.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/AnimationsBehaviorRenderer.java
      - copied, changed from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/EffectBehaviorRenderer.java
Removed:
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/behavior/EffectBehavior.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffect.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectPulse.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectShake.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/OpacityProperties.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/handler/EffectHandler.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/EffectBehaviorRenderer.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/BaseEffectRenderer.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectPulseRenderer.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectShakeRenderer.java
Modified:
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/panel/AbstractDiv.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/resources/META-INF/faces-config20.vm

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/behavior/AnimationsBehavior.java (from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/behavior/EffectBehavior.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/behavior/AnimationsBehavior.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/behavior/AnimationsBehavior.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/behavior/EffectBehavior.java&r1=1052728&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/behavior/EffectBehavior.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/behavior/AnimationsBehavior.java Thu Jan  6 23:44:28 2011
@@ -19,12 +19,9 @@
 
 package org.apache.myfaces.html5.behavior;
 
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFBehavior;
-
-import javax.el.ValueExpression;
 import javax.faces.application.ResourceDependencies;
 import javax.faces.application.ResourceDependency;
-import java.util.*;
+import javax.faces.component.behavior.FacesBehavior;
 
 @ResourceDependencies(
 {
@@ -32,19 +29,20 @@ import java.util.*;
         @ResourceDependency(name = "common.js", library = "org.apache.myfaces.html5", target = "head"),
         @ResourceDependency(name = "effect.js", library = "org.apache.myfaces.html5", target = "head")
 })
-@JSFBehavior(name = "fx:effect", id = "org.apache.myfaces.html5.EffectBehavior")
-public class EffectBehavior extends javax.faces.component.behavior.ClientBehaviorBase {
+@FacesBehavior("org.apache.myfaces.html5.AnimationsBehavior")
+public class AnimationsBehavior extends javax.faces.component.behavior.ClientBehaviorBase {
 
-    public static final String RENDERER_ID = "org.apache.myfaces.html5.EffectBehavior";
+    public static final String ID = "org.apache.myfaces.html5.AnimationsBehavior";
+    public static final String RENDERER_ID = "org.apache.myfaces.html5.AnimationsBehavior";
 
-    private Set<String> effectsToHandle = new HashSet<String>();
+    private String animationIdToHandle;
 
-    public void addEffectToHandle(String effectId){
-        this.effectsToHandle.add(effectId);
+    public String getAnimationIdToHandle() {
+        return animationIdToHandle;
     }
 
-    public Set<String> getEffectsToHandle() {
-        return Collections.unmodifiableSet(effectsToHandle);
+    public void setAnimationIdToHandle(String animationIdToHandle) {
+        this.animationIdToHandle = animationIdToHandle;
     }
 
     @Override

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationPulse.java (from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectPulse.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationPulse.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationPulse.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectPulse.java&r1=1052728&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectPulse.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationPulse.java Thu Jan  6 23:44:28 2011
@@ -17,20 +17,19 @@
  * under the License.
  */
 
-package org.apache.myfaces.html5.component.effect;
+package org.apache.myfaces.html5.component.animation;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
-import org.apache.myfaces.html5.component.properties.effect.*;
+import org.apache.myfaces.html5.component.properties.animation.OpacityProperties;
 
 @JSFComponent(
-        name = "fx:effectPulse",
-        clazz = "org.apache.myfaces.html5.component.effect.EffectPulse",
-        tagClass = "org.apache.myfaces.html5.tag.effect.EffectPulseTag",
-        defaultRendererType = "org.apache.myfaces.html5.EffectPulse",
-        family = "org.apache.myfaces.EffectPulse",
-        type = "org.apache.myfaces.html5.EffectPulse"
+        name = "fx:animationPulse",
+        clazz = "org.apache.myfaces.html5.component.animation.AnimationPulse",
+        tagClass = "org.apache.myfaces.html5.tag.animation.AnimationPulseTag",
+        defaultRendererType = "org.apache.myfaces.html5.AnimationPulse",
+        family = "org.apache.myfaces.AnimationPulse",
+        type = "org.apache.myfaces.html5.AnimationPulse"
 )
-public abstract class AbstractEffectPulse extends org.apache.myfaces.html5.component.effect.Effect implements OpacityProperties{
+public abstract class AbstractAnimationPulse extends org.apache.myfaces.html5.component.animation.BaseAnimation implements OpacityProperties {
 
 }
\ No newline at end of file

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationScale.java (from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectPulse.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationScale.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationScale.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectPulse.java&r1=1052728&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectPulse.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationScale.java Thu Jan  6 23:44:28 2011
@@ -17,20 +17,19 @@
  * under the License.
  */
 
-package org.apache.myfaces.html5.component.effect;
+package org.apache.myfaces.html5.component.animation;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
-import org.apache.myfaces.html5.component.properties.effect.*;
+import org.apache.myfaces.html5.component.properties.animation.ScaleProperties;
 
 @JSFComponent(
-        name = "fx:effectPulse",
-        clazz = "org.apache.myfaces.html5.component.effect.EffectPulse",
-        tagClass = "org.apache.myfaces.html5.tag.effect.EffectPulseTag",
-        defaultRendererType = "org.apache.myfaces.html5.EffectPulse",
-        family = "org.apache.myfaces.EffectPulse",
-        type = "org.apache.myfaces.html5.EffectPulse"
+        name = "fx:animationScale",
+        clazz = "org.apache.myfaces.html5.component.animation.AnimationScale",
+        tagClass = "org.apache.myfaces.html5.tag.animation.AnimationScaleTag",
+        defaultRendererType = "org.apache.myfaces.html5.AnimationScale",
+        family = "org.apache.myfaces.AnimationScale",
+        type = "org.apache.myfaces.html5.AnimationScale"
 )
-public abstract class AbstractEffectPulse extends org.apache.myfaces.html5.component.effect.Effect implements OpacityProperties{
+public abstract class AbstractAnimationScale extends org.apache.myfaces.html5.component.animation.BaseAnimation implements ScaleProperties {
 
 }
\ No newline at end of file

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationShake.java (from r1052731, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectShake.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationShake.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationShake.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectShake.java&r1=1052731&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectShake.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimationShake.java Thu Jan  6 23:44:28 2011
@@ -17,20 +17,19 @@
  * under the License.
  */
 
-package org.apache.myfaces.html5.component.effect;
+package org.apache.myfaces.html5.component.animation;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
-import org.apache.myfaces.html5.component.properties.effect.OpacityProperties;
-import org.apache.myfaces.html5.component.properties.effect.RotationProperty;
+import org.apache.myfaces.html5.component.properties.animation.RotationProperty;
 
 @JSFComponent(
-        name = "fx:effectShake",
-        clazz = "org.apache.myfaces.html5.component.effect.EffectShake",
-        tagClass = "org.apache.myfaces.html5.tag.effect.EffectShakeTag",
-        defaultRendererType = "org.apache.myfaces.html5.EffectShake",
-        family = "org.apache.myfaces.EffectShake",
-        type = "org.apache.myfaces.html5.EffectShake"
+        name = "fx:animationShake",
+        clazz = "org.apache.myfaces.html5.component.animation.AnimationShake",
+        tagClass = "org.apache.myfaces.html5.tag.animation.AnimationShakeTag",
+        defaultRendererType = "org.apache.myfaces.html5.AnimationShake",
+        family = "org.apache.myfaces.AnimationShake",
+        type = "org.apache.myfaces.html5.AnimationShake"
 )
-public abstract class AbstractEffectShake extends org.apache.myfaces.html5.component.effect.Effect implements RotationProperty{
+public abstract class AbstractAnimationShake extends org.apache.myfaces.html5.component.animation.BaseAnimation implements RotationProperty{
 
 }
\ No newline at end of file

Added: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimations.java
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimations.java?rev=1056122&view=auto
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimations.java (added)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractAnimations.java Thu Jan  6 23:44:28 2011
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.html5.component.animation;
+
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+
+@JSFComponent(
+        name = "fx:animations",
+        clazz = "org.apache.myfaces.html5.component.animation.Animations",
+        tagClass = "org.apache.myfaces.html5.tag.animation.AnimationsTag",
+        defaultRendererType = "org.apache.myfaces.html5.Animations",
+        family = "org.apache.myfaces.Animations",
+        type = "org.apache.myfaces.html5.Animations"
+)
+public abstract class AbstractAnimations extends javax.faces.component.UIComponentBase {
+
+    @JSFProperty(deferredValueType = "java.lang.String")
+    public abstract String getDuration();
+
+    @JSFProperty(deferredValueType = "java.lang.String")
+    public abstract String getIteration();
+
+    @JSFProperty(deferredValueType = "java.lang.String")
+    public abstract String getTimingFunction();
+
+    @JSFProperty(deferredValueType = "java.lang.String")
+    public abstract String getDirection();
+
+    @JSFProperty(deferredValueType = "java.lang.String")
+    public abstract String getDelay();
+
+}

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractBaseAnimation.java (from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffect.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractBaseAnimation.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractBaseAnimation.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffect.java&r1=1052728&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffect.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/animation/AbstractBaseAnimation.java Thu Jan  6 23:44:28 2011
@@ -17,15 +17,14 @@
  * under the License.
  */
 
-package org.apache.myfaces.html5.component.effect;
+package org.apache.myfaces.html5.component.animation;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
 import org.apache.myfaces.html5.component.properties.*;
-import org.apache.myfaces.html5.component.properties.effect.AnimationProperties;
 import org.apache.myfaces.html5.holder.MediaSourceHolder;
 
 @JSFComponent(
-        clazz = "org.apache.myfaces.html5.component.effect.Effect",
+        clazz = "org.apache.myfaces.html5.component.animation.BaseAnimation",
         configExcluded = true)
-public abstract class AbstractEffect extends javax.faces.component.UIComponentBase implements AnimationProperties{
+public abstract class AbstractBaseAnimation extends javax.faces.component.UIComponentBase{
 }

Added: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffects.java
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffects.java?rev=1056122&view=auto
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffects.java (added)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffects.java Thu Jan  6 23:44:28 2011
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.html5.component.effect;
+
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+
+@JSFComponent(
+        name = "fx:effects",
+        clazz = "org.apache.myfaces.html5.component.effect.Effects",
+        tagClass = "org.apache.myfaces.html5.tag.effect.EffectsTag",
+        defaultRendererType = "org.apache.myfaces.html5.Effects",
+        family = "org.apache.myfaces.Effects",
+        type = "org.apache.myfaces.html5.Effects"
+)
+public abstract class AbstractEffects extends javax.faces.component.UIComponentBase {
+
+    @JSFProperty(deferredValueType = "java.lang.String")
+    public abstract String getEvent();
+
+    @JSFProperty(deferredValueType = "java.lang.Object")
+    public abstract Object getDeactivationEvents();
+
+    @JSFProperty(deferredValueType = "java.lang.String")
+    public abstract String getAdditionalStyleClassToActivate();
+
+    @JSFProperty(deferredValueType = "java.lang.String")
+    public abstract String getDuration();
+
+    @JSFProperty(deferredValueType = "java.lang.String")
+    public abstract String getIteration();
+
+    @JSFProperty(deferredValueType = "java.lang.String")
+    public abstract String getTimingFunction();
+
+}

Modified: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/panel/AbstractDiv.java
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/panel/AbstractDiv.java?rev=1056122&r1=1056121&r2=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/panel/AbstractDiv.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/panel/AbstractDiv.java Thu Jan  6 23:44:28 2011
@@ -43,7 +43,7 @@ import org.apache.myfaces.html5.componen
         family = "org.apache.myfaces.Div",
         type = "org.apache.myfaces.html5.Div",
         implementz = "javax.faces.component.behavior.ClientBehaviorHolder",
-        defaultEventName="drop"
+        defaultEventName="mouseover"
 )
 public abstract class AbstractDiv extends javax.faces.component.UIComponentBase implements
         javax.faces.component.behavior.ClientBehaviorHolder, Html5GlobalProperties, AccesskeyProperty,

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/OpacityProperties.java (from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/OpacityProperties.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/OpacityProperties.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/OpacityProperties.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/OpacityProperties.java&r1=1052728&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/OpacityProperties.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/OpacityProperties.java Thu Jan  6 23:44:28 2011
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.html5.component.properties.effect;
+package org.apache.myfaces.html5.component.properties.animation;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/RotationProperty.java (from r1052731, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/RotationProperty.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/RotationProperty.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java&r1=1052731&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/RotationProperty.java Thu Jan  6 23:44:28 2011
@@ -17,15 +17,10 @@
  * under the License.
  */
 
-package org.apache.myfaces.html5.component.properties.effect;
+package org.apache.myfaces.html5.component.properties.animation;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 
-/**
- * User: Ali Ok (ali.ok@innflow.com)
- * Date: 2010-12-25
- * Time: 01:54:14
- */
 public interface RotationProperty {
     static final double DEFAULT_ROTATION = 20;
 

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/ScaleProperties.java (from r1052731, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/ScaleProperties.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/ScaleProperties.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java&r1=1052731&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/animation/ScaleProperties.java Thu Jan  6 23:44:28 2011
@@ -17,18 +17,17 @@
  * under the License.
  */
 
-package org.apache.myfaces.html5.component.properties.effect;
+package org.apache.myfaces.html5.component.properties.animation;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 
-/**
- * User: Ali Ok (ali.ok@innflow.com)
- * Date: 2010-12-25
- * Time: 01:54:14
- */
-public interface RotationProperty {
-    static final double DEFAULT_ROTATION = 20;
+public interface ScaleProperties {
+    static final double DEFAULT_MIN_SIZE = 0.5;
+    static final double DEFAULT_MAX_SIZE = 1.0;
+
+    @JSFProperty(deferredValueType = "java.lang.Double", defaultValue = "DEFAULT_MIN_SIZE")
+    public abstract double getMinSize();
 
-    @JSFProperty(deferredValueType = "java.lang.Double", defaultValue = "DEFAULT_ROTATION")
-    public abstract double getRotation();
+    @JSFProperty(deferredValueType = "java.lang.Double", defaultValue = "DEFAULT_MAX_SIZE")
+    public abstract double getMaxSize();
 }

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/handler/AnimationsHandler.java (from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/handler/EffectHandler.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/handler/AnimationsHandler.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/handler/AnimationsHandler.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/handler/EffectHandler.java&r1=1052728&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/handler/EffectHandler.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/handler/AnimationsHandler.java Thu Jan  6 23:44:28 2011
@@ -19,39 +19,59 @@
 
 package org.apache.myfaces.html5.handler;
 
+import org.apache.commons.lang.StringUtils;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletTag;
+import org.apache.myfaces.html5.behavior.AnimationsBehavior;
+import org.apache.myfaces.html5.component.animation.AbstractAnimations;
 import org.apache.myfaces.html5.renderkit.util.ClientBehaviorEvents;
 
+import javax.faces.FacesException;
 import javax.faces.application.Application;
 import javax.faces.component.UIComponent;
-import javax.faces.component.behavior.Behavior;
-import javax.faces.component.behavior.ClientBehavior;
 import javax.faces.component.behavior.ClientBehaviorHolder;
 import javax.faces.context.FacesContext;
-import javax.faces.view.facelets.BehaviorConfig;
+import javax.faces.view.facelets.ComponentConfig;
 import javax.faces.view.facelets.FaceletContext;
 import javax.faces.view.facelets.TagAttribute;
-import java.io.IOException;
 
-@JSFFaceletTag(name = "fx:effect", behaviorClass = "org.apache.myfaces.html5.behavior.EffectBehavior")
-public class EffectHandler extends javax.faces.view.facelets.BehaviorHandler {
-    public EffectHandler(BehaviorConfig config) {
+@JSFFaceletTag(name = "fx:animations", componentClass = "org.apache.myfaces.html5.component.animation.Animations")
+public class AnimationsHandler extends javax.faces.view.facelets.ComponentHandler {
+    private final TagAttribute event;
+
+    public AnimationsHandler(ComponentConfig config) {
         super(config);
+        event = getAttribute("event");
     }
 
     @Override
-    public void apply(FaceletContext faceletContext, UIComponent parent) throws IOException {
+    public void onComponentCreated(FaceletContext faceletContext, UIComponent uiComponent, UIComponent parent) {
+        super.onComponentPopulated(faceletContext, uiComponent, parent);
+
+        if (!(parent instanceof ClientBehaviorHolder))
+            throw new FacesException("Parent is not ClientBehaviorHolder");
+
+        if (!(uiComponent instanceof AbstractAnimations))
+            throw new FacesException("Created component is not a AbstractAnimations");
+
         FacesContext context = faceletContext.getFacesContext();
         Application app = context.getApplication();
-        String behaviorId = getBehaviorId();
-        Behavior behavior = app.createBehavior(behaviorId);
+        String behaviorId = AnimationsBehavior.ID;
+        AnimationsBehavior behavior = (AnimationsBehavior) app.createBehavior(behaviorId);
 
-        final String eventName = getEventName();
+        behavior.setAnimationIdToHandle(uiComponent.getClientId(faceletContext.getFacesContext()));
 
-        ((ClientBehaviorHolder) parent).addClientBehavior(eventName, (ClientBehavior) behavior);
-        ((ClientBehaviorHolder) parent).addClientBehavior(ClientBehaviorEvents.ANIMATIONEND_EVENT, (ClientBehavior) behavior);
+        String eventName = getEventName(faceletContext);
+        if(StringUtils.isBlank(eventName))
+            eventName = ((ClientBehaviorHolder) parent).getDefaultEventName();
 
-        this.applyNextHandler(faceletContext, parent);
+        ((ClientBehaviorHolder) parent).addClientBehavior(eventName, behavior);
+        ((ClientBehaviorHolder) parent).addClientBehavior(ClientBehaviorEvents.ANIMATIONEND_EVENT, behavior);
     }
 
+    public String getEventName(FaceletContext faceletContext) {
+        if(event==null)
+            return null;
+
+        return event.getValue(faceletContext);
+    }
 }

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationPulseRenderer.java (from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectPulseRenderer.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationPulseRenderer.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationPulseRenderer.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectPulseRenderer.java&r1=1052728&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectPulseRenderer.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationPulseRenderer.java Thu Jan  6 23:44:28 2011
@@ -17,41 +17,30 @@
  * under the License.
  */
 
-package org.apache.myfaces.html5.renderkit.effect;
+package org.apache.myfaces.html5.renderkit.animation;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFRenderer;
-import org.apache.myfaces.html5.component.effect.AbstractEffect;
-import org.apache.myfaces.html5.component.effect.AbstractEffectPulse;
+import org.apache.myfaces.html5.component.animation.AbstractAnimationPulse;
+import org.apache.myfaces.html5.component.animation.AbstractBaseAnimation;
 import org.apache.myfaces.shared_html5.renderkit.RendererUtils;
-import org.apache.myfaces.view.facelets.PostBuildComponentTreeOnRestoreViewEvent;
 
 import javax.faces.context.FacesContext;
-import javax.faces.event.*;
 import java.text.NumberFormat;
 import java.util.Locale;
 
-@ListenersFor({
-        @ListenerFor(systemEventClass = PostAddToViewEvent.class),
-        @ListenerFor(systemEventClass = PostBuildComponentTreeOnRestoreViewEvent.class)
-})
-@JSFRenderer(renderKitId = "HTML_BASIC", family = "org.apache.myfaces.EffectPulse", type = "org.apache.myfaces.html5.EffectPulse")
-public class EffectPulseRenderer extends BaseEffectRenderer {
+@JSFRenderer(renderKitId = "HTML_BASIC", family = "org.apache.myfaces.AnimationPulse", type = "org.apache.myfaces.html5.AnimationPulse")
+public class AnimationPulseRenderer extends BaseAnimationRenderer {
 
     @Override
-    protected void checkKeyFrameProperties(FacesContext facesContext, AbstractEffect uiComponent) {
-        //do nothing
-    }
-
-    @Override
-    protected String getKeyFrameBodyDefinition(FacesContext facesContext, AbstractEffect uiComponent) {
-        RendererUtils.checkParamValidity(facesContext, uiComponent, AbstractEffectPulse.class);
+    protected String getKeyFrameBodyDefinition(FacesContext facesContext, AbstractBaseAnimation uiComponent) {
+        RendererUtils.checkParamValidity(facesContext, uiComponent, AbstractAnimationPulse.class);
 
-        AbstractEffectPulse component = (AbstractEffectPulse) uiComponent;
+        AbstractAnimationPulse component = (AbstractAnimationPulse) uiComponent;
 
         final double minOpacity = component.getMinOpacity();        //default value set, if not defined
         final double maxOpacity = component.getMaxOpacity();        //default value set, if not defined
 
-        String format = "0%%   {opacity: %s;} 50%%  {opacity: %s;} 100%% {opacity: %s;}";
+        String format = "0%% {opacity: %s;} 50%% {opacity: %s;} 100%% {opacity: %s;}";
 
         final NumberFormat numberFormat = NumberFormat.getInstance(Locale.ENGLISH);
 

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationScaleRenderer.java (from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectPulseRenderer.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationScaleRenderer.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationScaleRenderer.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectPulseRenderer.java&r1=1052728&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectPulseRenderer.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationScaleRenderer.java Thu Jan  6 23:44:28 2011
@@ -17,47 +17,36 @@
  * under the License.
  */
 
-package org.apache.myfaces.html5.renderkit.effect;
+package org.apache.myfaces.html5.renderkit.animation;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFRenderer;
-import org.apache.myfaces.html5.component.effect.AbstractEffect;
-import org.apache.myfaces.html5.component.effect.AbstractEffectPulse;
+import org.apache.myfaces.html5.component.animation.AbstractAnimationScale;
+import org.apache.myfaces.html5.component.animation.AbstractBaseAnimation;
 import org.apache.myfaces.shared_html5.renderkit.RendererUtils;
-import org.apache.myfaces.view.facelets.PostBuildComponentTreeOnRestoreViewEvent;
 
 import javax.faces.context.FacesContext;
-import javax.faces.event.*;
 import java.text.NumberFormat;
 import java.util.Locale;
 
-@ListenersFor({
-        @ListenerFor(systemEventClass = PostAddToViewEvent.class),
-        @ListenerFor(systemEventClass = PostBuildComponentTreeOnRestoreViewEvent.class)
-})
-@JSFRenderer(renderKitId = "HTML_BASIC", family = "org.apache.myfaces.EffectPulse", type = "org.apache.myfaces.html5.EffectPulse")
-public class EffectPulseRenderer extends BaseEffectRenderer {
+@JSFRenderer(renderKitId = "HTML_BASIC", family = "org.apache.myfaces.AnimationScale", type = "org.apache.myfaces.html5.AnimationScale")
+public class AnimationScaleRenderer extends BaseAnimationRenderer {
 
     @Override
-    protected void checkKeyFrameProperties(FacesContext facesContext, AbstractEffect uiComponent) {
-        //do nothing
-    }
-
-    @Override
-    protected String getKeyFrameBodyDefinition(FacesContext facesContext, AbstractEffect uiComponent) {
-        RendererUtils.checkParamValidity(facesContext, uiComponent, AbstractEffectPulse.class);
+    protected String getKeyFrameBodyDefinition(FacesContext facesContext, AbstractBaseAnimation uiComponent) {
+        RendererUtils.checkParamValidity(facesContext, uiComponent, AbstractAnimationScale.class);
 
-        AbstractEffectPulse component = (AbstractEffectPulse) uiComponent;
+        AbstractAnimationScale component = (AbstractAnimationScale) uiComponent;
 
-        final double minOpacity = component.getMinOpacity();        //default value set, if not defined
-        final double maxOpacity = component.getMaxOpacity();        //default value set, if not defined
+        final double minSize = component.getMinSize();        //default value set, if not defined
+        final double maxSize = component.getMaxSize();        //default value set, if not defined
 
-        String format = "0%%   {opacity: %s;} 50%%  {opacity: %s;} 100%% {opacity: %s;}";
+        String format = "0%% {-webkit-transform: scale(%s);} 50%% {-webkit-transform: scale(%s);} 100%% {-webkit-transform: scale(%s);}";
 
         final NumberFormat numberFormat = NumberFormat.getInstance(Locale.ENGLISH);
 
-        final String strMaxOpacity = numberFormat.format(maxOpacity);
-        final String strMinOpacity = numberFormat.format(minOpacity);
+        final String strMaxSize = numberFormat.format(maxSize);
+        final String strMinSize = numberFormat.format(minSize);
 
-        return String.format(format, strMaxOpacity, strMinOpacity, strMaxOpacity);
+        return String.format(format, strMaxSize, strMinSize, strMaxSize);
     }
 }
\ No newline at end of file

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationShakeRenderer.java (from r1052731, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectShakeRenderer.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationShakeRenderer.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationShakeRenderer.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectShakeRenderer.java&r1=1052731&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectShakeRenderer.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationShakeRenderer.java Thu Jan  6 23:44:28 2011
@@ -17,38 +17,26 @@
  * under the License.
  */
 
-package org.apache.myfaces.html5.renderkit.effect;
+package org.apache.myfaces.html5.renderkit.animation;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFRenderer;
-import org.apache.myfaces.html5.component.effect.AbstractEffect;
-import org.apache.myfaces.html5.component.effect.AbstractEffectShake;
+import org.apache.myfaces.html5.component.animation.AbstractAnimationShake;
+import org.apache.myfaces.html5.component.animation.AbstractBaseAnimation;
 import org.apache.myfaces.shared_html5.renderkit.RendererUtils;
-import org.apache.myfaces.view.facelets.PostBuildComponentTreeOnRestoreViewEvent;
 
 import javax.faces.context.FacesContext;
-import javax.faces.event.ListenerFor;
-import javax.faces.event.ListenersFor;
-import javax.faces.event.PostAddToViewEvent;
 import java.text.NumberFormat;
 import java.util.Locale;
 
-@ListenersFor({
-        @ListenerFor(systemEventClass = PostAddToViewEvent.class),
-        @ListenerFor(systemEventClass = PostBuildComponentTreeOnRestoreViewEvent.class)
-})
-@JSFRenderer(renderKitId = "HTML_BASIC", family = "org.apache.myfaces.EffectShake", type = "org.apache.myfaces.html5.EffectShake")
-public class EffectShakeRenderer extends BaseEffectRenderer {
+@JSFRenderer(renderKitId = "HTML_BASIC", family = "org.apache.myfaces.AnimationShake", type = "org.apache.myfaces.html5.AnimationShake")
+public class AnimationShakeRenderer extends BaseAnimationRenderer {
 
-    @Override
-    protected void checkKeyFrameProperties(FacesContext facesContext, AbstractEffect uiComponent) {
-        //do nothing
-    }
 
     @Override
-    protected String getKeyFrameBodyDefinition(FacesContext facesContext, AbstractEffect uiComponent) {
-        RendererUtils.checkParamValidity(facesContext, uiComponent, AbstractEffectShake.class);
+    protected String getKeyFrameBodyDefinition(FacesContext facesContext, AbstractBaseAnimation uiComponent) {
+        RendererUtils.checkParamValidity(facesContext, uiComponent, AbstractAnimationShake.class);
 
-        AbstractEffectShake component = (AbstractEffectShake) uiComponent;
+        AbstractAnimationShake component = (AbstractAnimationShake) uiComponent;
 
         final double rotation = component.getRotation();        //default value set, if not defined
 

Added: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationsRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationsRenderer.java?rev=1056122&view=auto
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationsRenderer.java (added)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/AnimationsRenderer.java Thu Jan  6 23:44:28 2011
@@ -0,0 +1,146 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.html5.renderkit.animation;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFRenderer;
+import org.apache.myfaces.html5.component.animation.AbstractAnimations;
+import org.apache.myfaces.html5.renderkit.util.CSS;
+import org.apache.myfaces.html5.renderkit.util.HTML5;
+import org.apache.myfaces.shared_html5.renderkit.RendererUtils;
+import org.apache.myfaces.shared_html5.renderkit.html.HTML;
+import org.apache.myfaces.shared_html5.renderkit.html.HtmlRenderer;
+import org.apache.myfaces.view.facelets.PostBuildComponentTreeOnRestoreViewEvent;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+import javax.faces.event.*;
+import java.io.IOException;
+
+@ListenersFor({
+        @ListenerFor(systemEventClass = PostAddToViewEvent.class),
+        @ListenerFor(systemEventClass = PostBuildComponentTreeOnRestoreViewEvent.class)
+})
+@JSFRenderer(renderKitId = "HTML_BASIC", family = "org.apache.myfaces.Animations", type = "org.apache.myfaces.html5.Animations")
+public class AnimationsRenderer extends HtmlRenderer implements ComponentSystemEventListener {
+
+    @Override
+    public boolean getRendersChildren() {
+        return true;
+    }
+
+    @Override
+    public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException {
+        super.encodeBegin(facesContext, uiComponent);
+
+        RendererUtils.checkParamValidity(facesContext, uiComponent, AbstractAnimations.class);
+
+        AbstractAnimations component = (AbstractAnimations) uiComponent;
+
+        ResponseWriter writer = facesContext.getResponseWriter();
+
+        writer.startElement(HTML.STYLE_ELEM, component);
+    }
+
+    @Override
+    public void encodeChildren(FacesContext facesContext, UIComponent uiComponent) throws IOException {
+        RendererUtils.checkParamValidity(facesContext, uiComponent, AbstractAnimations.class);
+
+        AbstractAnimations component = (AbstractAnimations) uiComponent;
+
+        ResponseWriter writer = facesContext.getResponseWriter();
+
+        // write id
+        final String id = component.getClientId(facesContext);
+        writer.writeAttribute(HTML5.ID_ATTR, id, null);
+
+        //TODO: what happens if id has colon? Will CSS accept it?
+        //write key frames (let child components render themselves)
+        writer.writeText("@-webkit-keyframes " + id + " { ", component, null);
+        //TODO: allow only BaseAnimation children!
+
+        super.encodeChildren(facesContext, component);
+
+        writer.writeText(" } ", component, null);
+        //write CSS class definition with animation definition
+        writer.writeText(getAnimationDefinition(facesContext, component),component, null);
+    }
+
+    @Override
+    public void encodeEnd(FacesContext facesContext, UIComponent uiComponent) throws IOException {
+        // just close the element
+        super.encodeEnd(facesContext, uiComponent);
+
+        ResponseWriter writer = facesContext.getResponseWriter();
+
+        writer.endElement(HTML.STYLE_ELEM);
+    }
+
+    protected String getAnimationDefinition(FacesContext facesContext, AbstractAnimations component){
+        final String id = component.getClientId(facesContext);
+        final String duration = getTimeValue(component.getDuration());
+        final String iteration = component.getIteration();
+        final String timingFunction = component.getTimingFunction();
+        final String direction = component.getDirection();
+        final String delay = getTimeValue(component.getDelay());
+
+        StringBuilder builder = new StringBuilder();
+        builder.append(".").append(id);
+        builder.append(" { ");
+
+        appendIfNotNull(builder, CSS.ANIMATION_NAME_PROP, id);
+        appendIfNotNull(builder, CSS.ANIMATION_DURATION_PROP, duration);
+        appendIfNotNull(builder, CSS.ANIMATION_ITERATION_COUNT_PROP, iteration);
+        appendIfNotNull(builder, CSS.ANIMATION_TIMING_FUNCTION_PROP, timingFunction);
+        appendIfNotNull(builder, CSS.ANIMATION_DIRECTION_PROP, direction);
+        appendIfNotNull(builder, CSS.ANIMATION_DELAY_PROP, delay);
+
+        builder.append("} ");
+
+        return builder.toString();
+    }
+
+    private static void appendIfNotNull(StringBuilder builder, String propName, String propValue) {
+        if(StringUtils.isBlank(propName))
+            throw new RuntimeException("Propname cannot be null");
+
+        if(!StringUtils.isBlank(propValue))
+            builder.append(propName).append(": ").append(propValue).append("; ");
+    }
+
+    private static String getTimeValue(String s) {
+        if(StringUtils.isBlank(s))
+            return null;
+        else if(s.endsWith("s") || s.endsWith("ms"))
+            return s;
+        else
+            return s + "s";
+    }
+
+
+    public void processEvent(ComponentSystemEvent event) {
+        UIComponent component = event.getComponent();
+        FacesContext facesContext = FacesContext.getCurrentInstance();
+
+        //TODO: other alternative than body? think about ajax PPR
+        facesContext.getViewRoot().addComponentResource(facesContext, component, "body");
+    }
+}

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/BaseAnimationRenderer.java (from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/BaseEffectRenderer.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/BaseAnimationRenderer.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/BaseAnimationRenderer.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/BaseEffectRenderer.java&r1=1052728&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/BaseEffectRenderer.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/animation/BaseAnimationRenderer.java Thu Jan  6 23:44:28 2011
@@ -17,165 +17,31 @@
  * under the License.
  */
 
-package org.apache.myfaces.html5.renderkit.effect;
+package org.apache.myfaces.html5.renderkit.animation;
 
-import org.apache.commons.lang.StringUtils;
-import org.apache.myfaces.html5.behavior.EffectBehavior;
-import org.apache.myfaces.html5.component.effect.AbstractEffect;
-import org.apache.myfaces.html5.component.effect.AbstractEffectPulse;
-import org.apache.myfaces.html5.renderkit.util.CSS;
-import org.apache.myfaces.html5.renderkit.util.HTML5;
+import org.apache.myfaces.html5.component.animation.AbstractBaseAnimation;
 import org.apache.myfaces.shared_html5.renderkit.RendererUtils;
-import org.apache.myfaces.shared_html5.renderkit.html.HTML;
 import org.apache.myfaces.shared_html5.renderkit.html.HtmlRenderer;
 
 import javax.faces.component.UIComponent;
-import javax.faces.component.behavior.ClientBehavior;
-import javax.faces.component.behavior.ClientBehaviorHolder;
 import javax.faces.context.FacesContext;
 import javax.faces.context.ResponseWriter;
-import javax.faces.event.ComponentSystemEvent;
-import javax.faces.event.ComponentSystemEventListener;
 import java.io.IOException;
-import java.text.NumberFormat;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Set;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
-public abstract class BaseEffectRenderer extends HtmlRenderer implements ComponentSystemEventListener {
-
-    private static final Logger log = Logger.getLogger(BaseEffectRenderer.class.getName());
+public abstract class BaseAnimationRenderer extends HtmlRenderer {
 
     @Override
     public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException {
-        if (log.isLoggable(Level.FINE))
-            log.fine("encodeBegin");
-
         super.encodeBegin(facesContext, uiComponent);
 
-        RendererUtils.checkParamValidity(facesContext, uiComponent, AbstractEffect.class);
-
-        AbstractEffect component = (AbstractEffect) uiComponent;
-
-        checkKeyFrameProperties(facesContext, component);
-        checkAnimationProperties(facesContext, component);
-
-        ResponseWriter writer = facesContext.getResponseWriter();
-
-        writer.startElement(HTML.STYLE_ELEM, component);
-
-        // write id
-        final String id = component.getClientId(facesContext);
-        writer.writeAttribute(HTML5.ID_ATTR, id, null);
+        RendererUtils.checkParamValidity(facesContext, uiComponent, AbstractBaseAnimation.class);
 
-        writer.writeText(getKeyFrameDefinition(facesContext, component),component, null);
-        writer.writeText(getAnimationDefinition(facesContext, component),component, null);
-    }
-
-    @Override
-    public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException {
-        if (log.isLoggable(Level.FINE))
-            log.fine("encodeEnd");
-        // just close the element
-        super.encodeEnd(facesContext, component);
+        AbstractBaseAnimation component = (AbstractBaseAnimation) uiComponent;
 
         ResponseWriter writer = facesContext.getResponseWriter();
-
-        writer.endElement(HTML.STYLE_ELEM);
+        writer.write(" " +  getKeyFrameBodyDefinition(facesContext, component) + " ");
     }
 
-    protected abstract void checkKeyFrameProperties(FacesContext facesContext, AbstractEffect component);
-
-    protected void checkAnimationProperties(FacesContext facesContext, AbstractEffect component) {
-        //do nothing
-    }
-
-    protected String getKeyFrameDefinition(FacesContext facesContext, AbstractEffect uiComponent){
-        String format = "@-webkit-keyframes %s  {%s} ";
-
-        final String id = uiComponent.getClientId(facesContext);
-        String keyFrameBodyDefinition = getKeyFrameBodyDefinition(facesContext, uiComponent);
-
-        return String.format(format, id, keyFrameBodyDefinition);
-    }
-
-    protected abstract String getKeyFrameBodyDefinition(FacesContext facesContext, AbstractEffect uiComponent);
-
-    protected String getAnimationDefinition(FacesContext facesContext, AbstractEffect component){
-        final String id = component.getClientId(facesContext);
-        final String duration = getTimeValue(component.getDuration());
-        final String iteration = component.getIteration();
-        final String timingFunction = component.getTimingFunction();
-        final String direction = component.getDirection();
-        final String delay = getTimeValue(component.getDelay());
-
-        StringBuilder builder = new StringBuilder();
-        builder.append(".").append(id);
-        builder.append(" { ");
-
-        appendIfNotNull(builder, CSS.ANIMATION_NAME_PROP, id);
-        appendIfNotNull(builder, CSS.ANIMATION_DURATION_PROP, duration);
-        appendIfNotNull(builder, CSS.ANIMATION_ITERATION_COUNT_PROP, iteration);
-        appendIfNotNull(builder, CSS.ANIMATION_TIMING_FUNCTION_PROP, timingFunction);
-        appendIfNotNull(builder, CSS.ANIMATION_DIRECTION_PROP, direction);
-        appendIfNotNull(builder, CSS.ANIMATION_DELAY_PROP, delay);
-
-        builder.append("} ");
-
-        return builder.toString();
-    }
-
-    private static void appendIfNotNull(StringBuilder builder, String propName, String propValue) {
-        if(StringUtils.isBlank(propName))
-            throw new RuntimeException("Propname cannot be null");
-
-        if(!StringUtils.isBlank(propValue))
-            builder.append(propName).append(": ").append(propValue).append("; ");
-    }
-
-    private static String getTimeValue(String s) {
-        if(StringUtils.isBlank(s))
-            return null;
-        else if(s.endsWith("s") || s.endsWith("ms"))
-            return s;
-        else
-            return s + "s";
-    }
-
-    public void processEvent(ComponentSystemEvent event) {
-        UIComponent component = event.getComponent();
-        FacesContext facesContext = FacesContext.getCurrentInstance();
-
-        if (component.getParent() instanceof ClientBehaviorHolder) {
-            final ClientBehaviorHolder parent = (ClientBehaviorHolder) component.getParent();
-
-            Set<EffectBehavior> parentBehaviors = new HashSet<EffectBehavior>();
-
-            for (List<ClientBehavior> clientBehaviorList : parent.getClientBehaviors().values()) {
-                for (ClientBehavior behavior : clientBehaviorList) {
-                    if (behavior instanceof EffectBehavior) {
-                        parentBehaviors.add((EffectBehavior) behavior);
-                    }
-                }
-            }
-
-            if (parentBehaviors.isEmpty())
-                throw new RuntimeException("Effects must be placed inside a fx:effect.");
-
-            //TODO: check if there is any condition whether parent behavior is not single
-//            if(parentBehaviors.size()>1)
-//                throw new RuntimeException();
-
-            for (EffectBehavior parentBehavior : parentBehaviors) {
-                parentBehavior.addEffectToHandle(component.getId());
-            }
-        }
-
-        //XXX: other alternative than body? think about ajax PPR
-        facesContext.getViewRoot().addComponentResource(facesContext, component, "body");
-    }
+    protected abstract String getKeyFrameBodyDefinition(FacesContext facesContext, AbstractBaseAnimation component);
 
 }

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/AnimationsBehaviorRenderer.java (from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/EffectBehaviorRenderer.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/AnimationsBehaviorRenderer.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/AnimationsBehaviorRenderer.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/EffectBehaviorRenderer.java&r1=1052728&r2=1056122&rev=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/EffectBehaviorRenderer.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/AnimationsBehaviorRenderer.java Thu Jan  6 23:44:28 2011
@@ -18,35 +18,28 @@
  */
 package org.apache.myfaces.html5.renderkit.behavior;
 
-import org.apache.myfaces.html5.behavior.EffectBehavior;
+import org.apache.myfaces.html5.behavior.AnimationsBehavior;
 import org.apache.myfaces.html5.renderkit.util.ClientBehaviorEvents;
 
 import javax.faces.FacesException;
-import javax.faces.component.PartialStateHolder;
 import javax.faces.component.behavior.ClientBehavior;
 import javax.faces.component.behavior.ClientBehaviorContext;
-import javax.faces.context.FacesContext;
 import javax.faces.render.ClientBehaviorRenderer;
-import java.util.logging.Logger;
 
-public class EffectBehaviorRenderer extends ClientBehaviorRenderer
+public class AnimationsBehaviorRenderer extends ClientBehaviorRenderer
 {
 
     @Override
     public String getScript(ClientBehaviorContext behaviorContext, ClientBehavior behavior)
     {
-        if (!(behavior instanceof EffectBehavior))
+        if (!(behavior instanceof AnimationsBehavior))
         {
-            throw new FacesException("Behavior is not a EffectBehavior.");
+            throw new FacesException("Behavior is not a AnimationsBehavior.");
         }
 
-        EffectBehavior effectBehavior = (EffectBehavior) behavior;
+        AnimationsBehavior effectBehavior = (AnimationsBehavior) behavior;
 
-        final StringBuilder builder = new StringBuilder();
-        for (String effectId : effectBehavior.getEffectsToHandle()) {
-            builder.append(effectId + " ");
-        }
-        String strEffects = builder.toString().trim();
+        String strEffects = effectBehavior.getAnimationIdToHandle();
 
         String format;
         if(ClientBehaviorEvents.ANIMATIONEND_EVENT.equals(behaviorContext.getEventName())){

Modified: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/resources/META-INF/faces-config20.vm
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/resources/META-INF/faces-config20.vm?rev=1056122&r1=1056121&r2=1056122&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/resources/META-INF/faces-config20.vm (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/resources/META-INF/faces-config20.vm Thu Jan  6 23:44:28 2011
@@ -92,8 +92,8 @@ $baseContent
         <client-behavior-renderer-class>org.apache.myfaces.html5.renderkit.behavior.DropTargetBehaviorRenderer</client-behavior-renderer-class>
       </client-behavior-renderer>
       <client-behavior-renderer>
-        <client-behavior-renderer-type>org.apache.myfaces.html5.EffectBehavior</client-behavior-renderer-type>
-        <client-behavior-renderer-class>org.apache.myfaces.html5.renderkit.behavior.EffectBehaviorRenderer</client-behavior-renderer-class>
+        <client-behavior-renderer-type>org.apache.myfaces.html5.AnimationsBehavior</client-behavior-renderer-type>
+        <client-behavior-renderer-class>org.apache.myfaces.html5.renderkit.behavior.AnimationsBehaviorRenderer</client-behavior-renderer-class>
       </client-behavior-renderer>
 
   </render-kit>