ANIMATOR : Add null check 97/20097/1
authorseongwon.shim <seongwon.shim@samsung.com>
Mon, 28 Apr 2014 01:49:28 +0000 (10:49 +0900)
committerseongwon.shim <seongwon.shim@samsung.com>
Mon, 28 Apr 2014 01:49:28 +0000 (10:49 +0900)
Add null check for bug induction code
Change condition in if statement for checking selector is null

Change-Id: I4da13649b60e96cac22d86b5e51267e8d9d53842
Signed-off-by: seongwon.shim <seongwon.shim@samsung.com>
13 files changed:
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/gef/command/ActionAnimationGroupRemoveCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/gef/command/ActoinAnimationGroupChangeCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/gef/command/ActoinAnimationGroupCreateCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/gef/command/AnimationCreateAndChangeFrameCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/gef/command/AnimationCreateCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/gef/command/AnimationPathCurveCreateCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/gef/command/AnimationPathMoveCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/gef/command/AnimationPropertyChangeCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/ui/views/timeline/command/TimelineFrameCreateCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/ui/views/timeline/command/TimelineFrameDeleteCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/ui/views/timeline/command/TimelineFrameEditCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/ui/views/timeline/command/TimelineKeyframeDeleteCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/animator/ui/views/timeline/command/TimelineKeyframeEditCommand.java

index a1b97f1..fa17621 100644 (file)
@@ -25,7 +25,6 @@ package org.tizen.webuibuilder.animator.gef.command;
 
 import org.eclipse.gef.commands.Command;
 import org.tizen.webuibuilder.animator.model.AnimatorActionAnimation;
-import org.tizen.webuibuilder.animator.model.AnimatorModelManager;
 import org.tizen.webuibuilder.animator.model.AnimatorTrigger;
 import org.tizen.webuibuilder.animator.model.part.AnimatorPart;
 import org.tizen.webuibuilder.animator.utils.AnimatorUtils;
index dac51b3..790dd5c 100644 (file)
@@ -25,7 +25,6 @@ package org.tizen.webuibuilder.animator.gef.command;
 
 import org.eclipse.gef.commands.Command;
 import org.tizen.webuibuilder.animator.model.AnimatorActionAnimation;
-import org.tizen.webuibuilder.animator.model.AnimatorModelManager;
 import org.tizen.webuibuilder.animator.model.AnimatorTrigger;
 import org.tizen.webuibuilder.animator.model.part.AnimatorPagePart;
 import org.tizen.webuibuilder.animator.model.part.AnimatorPart;
index e6e9f27..703d885 100644 (file)
@@ -25,7 +25,6 @@ package org.tizen.webuibuilder.animator.gef.command;
 
 import org.eclipse.gef.commands.Command;
 import org.tizen.webuibuilder.animator.model.AnimatorActionAnimation;
-import org.tizen.webuibuilder.animator.model.AnimatorModelManager;
 import org.tizen.webuibuilder.animator.model.AnimatorTrigger;
 import org.tizen.webuibuilder.animator.model.part.AnimatorPagePart;
 import org.tizen.webuibuilder.animator.model.part.AnimatorPart;
index 818ae7b..a555bc8 100644 (file)
@@ -74,7 +74,7 @@ public class AnimationCreateAndChangeFrameCommand extends Command {
        AnimatorModelManager animatorModelManager =
                 AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
        
-       if(oldSelector == null && newSelector == null) {
+       if(oldSelector == null || newSelector == null) {
                oldSelector = currentSelector.cloneAnimatorSelector();
                currentSelector.replaceAll(currentSelector.cloneAnimatorSelector());
                AnimatorFrame frame = currentSelector.getAnimatorFrameByCurrentTime(currentTime);
index 59a7246..36a1152 100644 (file)
@@ -88,7 +88,7 @@ public class AnimationCreateCommand extends Command {
             AnimatorModelManager animatorModelManager =
                     AnimatorModelManager.getInstance(appManager);
             
-               if(newSelector == null && oldSelector == null) {
+               if(newSelector == null || oldSelector == null) {
                        oldSelector = currentSelector.cloneAnimatorSelector();
                        currentSelector.replaceAll(currentSelector.cloneAnimatorSelector());
                        List<AnimatorFrame> frames = animatorModelManager.getPredefinedAnimationFactory()
index 5d157ed..23ed0e7 100644 (file)
@@ -46,21 +46,23 @@ public class AnimationPathCurveCreateCommand extends AnimationPathCommand {
                  AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
        
        currentSelector = getModel().getSelector();
-       if(oldSelector == null && newSelector == null) {
-               oldSelector = currentSelector.cloneAnimatorSelector();
-               currentSelector.replaceAll(currentSelector.cloneAnimatorSelector());
-//             getModel().updateAnimationPathKeyframe();
-               
-               AnimationPathCurve curve = getModel().getCurve(getIndex(), getCurveIndex());
-               if(curve != null) {
-                       getModel().insertCurveToModel(animatorModelManager.getModelFactory(), getIndex(), getCurveIndex(),
-                                       curve);
+       if(currentSelector != null) {
+               if(oldSelector == null || newSelector == null) {
+                       oldSelector = currentSelector.cloneAnimatorSelector();
+                       currentSelector.replaceAll(currentSelector.cloneAnimatorSelector());
+//                     getModel().updateAnimationPathKeyframe();
+                       
+               AnimationPathCurve curve = getModel().getCurve(getIndex(), getCurveIndex());
+               if(curve != null) {
+                       getModel().insertCurveToModel(animatorModelManager.getModelFactory(), getIndex(), getCurveIndex(),
+                                       curve);
+               }
+               super.execute();
+                       
+               newSelector = currentSelector.cloneAnimatorSelector();
+               } else {
+                       currentSelector.replaceAll(newSelector);
                }
-               super.execute();
-               
-               newSelector = currentSelector.cloneAnimatorSelector();
-       } else {
-               currentSelector.replaceAll(newSelector);
        }
        
        animatorModelManager.fireEvent(true, currentSelector,
index f3383a1..e61b5a2 100644 (file)
@@ -46,29 +46,30 @@ public class AnimationPathMoveCommand extends AnimationPathCommand {
        AnimatorModelManager animatorModelManager =
                 AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
        currentSelector = getModel().getSelector();
-       if(newSelector == null && oldSelector == null) {
-               oldSelector = currentSelector.cloneAnimatorSelector();
-               currentSelector.replaceAll(currentSelector.cloneAnimatorSelector());
-               getModel().updateAnimationPathKeyframe();
-               
-               if (getCurveIndex() == null) {
-                Point p = getLocation();
-                setOldPoint(getModel().getKeyFrameLocationFromModel(getIndex()));
-                getModel().setKeyFrameToModel(getIndex(), p.x, p.y);
-            } else {
-                setOldCurve(getModel().getCurveFromModel(getIndex(), getCurveIndex()));
-                AnimationPathCurve curve = getModel().getCurve(getIndex(), getCurveIndex());
-                if(curve != null) {
-                       getModel().setCurveToModel(getIndex(), getCurveIndex(), curve);
+       if(currentSelector != null) {
+               if(newSelector == null || oldSelector == null) {
+                       oldSelector = currentSelector.cloneAnimatorSelector();
+                       currentSelector.replaceAll(currentSelector.cloneAnimatorSelector());
+                       getModel().updateAnimationPathKeyframe();
+                       
+                       if (getCurveIndex() == null) {
+                    Point p = getLocation();
+                    setOldPoint(getModel().getKeyFrameLocationFromModel(getIndex()));
+                    getModel().setKeyFrameToModel(getIndex(), p.x, p.y);
+                } else {
+                    setOldCurve(getModel().getCurveFromModel(getIndex(), getCurveIndex()));
+                    AnimationPathCurve curve = getModel().getCurve(getIndex(), getCurveIndex());
+                    if(curve != null) {
+                       getModel().setCurveToModel(getIndex(), getCurveIndex(), curve);
+                    }
                 }
-            }
-            super.execute();
-            currentSelector.updateSelectorTime();
-            newSelector = currentSelector.cloneAnimatorSelector();
-       } else {
-               currentSelector.replaceAll(newSelector);
+                super.execute();
+                currentSelector.updateSelectorTime();
+                newSelector = currentSelector.cloneAnimatorSelector();
+               } else {
+                       currentSelector.replaceAll(newSelector);
+               }
        }
-       
        animatorModelManager.fireEvent(true, currentSelector,
                        AnimatorModelEvent.EventType.SELECTOR_REFRESH, Origin.PROPERTY, currentSelector);
        
index 74c6abe..a3daf8f 100644 (file)
@@ -89,15 +89,18 @@ public class AnimationPropertyChangeCommand extends Command {
        AnimatorModelManager animatorModelManager =
                  AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
        
-       if(newSelector == null && oldSelector == null) {
+       if(newSelector == null || oldSelector == null) {
                oldSelector = currentSelector.cloneAnimatorSelector();
                currentSelector.replaceAll(currentSelector.cloneAnimatorSelector());
                
                keyframe = currentSelector.findAnimatorKeyframe(keyframe);
-               frame = keyframe.getFrameByCurrentTime(frame.getFrameTime() + keyframe.getDelay());
-               frame.addOrEditProperties(properties);
-               
-               newSelector = currentSelector.cloneAnimatorSelector();
+               if(keyframe != null) {
+                       frame = keyframe.getFrameByCurrentTime(frame.getFrameTime() + keyframe.getDelay());
+                       if(frame != null) {
+                               frame.addOrEditProperties(properties);
+                               newSelector = currentSelector.cloneAnimatorSelector();
+                       }
+               }
        } else {
                currentSelector.replaceAll(newSelector);
        }
index 7bb56c3..f426836 100644 (file)
@@ -69,7 +69,7 @@ public class TimelineFrameCreateCommand extends Command {
        AnimatorModelManager manager =
               AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
        
-       if(oldSelectors == null  && newSelectors == null) {
+       if(oldSelectors == null  || newSelectors == null) {
                
                oldSelectors = new ArrayList<AnimatorModel>();
                newSelectors = new ArrayList<AnimatorModel>();
index 1b9d46a..121a83c 100644 (file)
@@ -85,25 +85,29 @@ public class TimelineFrameDeleteCommand extends Command {
         AnimatorModelManager animatorModelManager =
                 AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
        
-       if(oldSelector == null  && oldSelector == null) {
+       if(oldSelector == null  || oldSelector == null) {
                oldSelector = currentSelector.cloneAnimatorSelector();
                currentSelector.replaceAll(currentSelector.cloneAnimatorSelector());
                keyframe = currentSelector.findAnimatorKeyframe(keyframe);
-               frame = keyframe.getFrameByCurrentTime(frame.getFrameTime() + keyframe.getDelay());
+               if(keyframe != null) {
+                       frame = keyframe.getFrameByCurrentTime(frame.getFrameTime() + keyframe.getDelay());
+                       if(frame != null) {
+                               AnimatorFrame previousFrame = (AnimatorFrame) keyframe.getPrevChild(frame);
+                       if (previousFrame != null) {
+                               List<AnimatorCurveFrame> curveFrames = previousFrame.getCurveFrames();
+                               if (curveFrames != null) {
+                                       ((AnimatorFrame) previousFrame).setCurveFrames(new ArrayList<AnimatorCurveFrame>());
+                               
+                               }
+                       }
+                       
+                       keyframe.removeChild(frame, true);
+                       
+                       currentSelector.updateSelectorTime();
+                       newSelector = currentSelector.cloneAnimatorSelector();
+                       }
+               }
                
-               AnimatorFrame previousFrame = (AnimatorFrame) keyframe.getPrevChild(frame);
-               if (previousFrame != null) {
-                       List<AnimatorCurveFrame> curveFrames = previousFrame.getCurveFrames();
-                       if (curveFrames != null) {
-                               ((AnimatorFrame) previousFrame).setCurveFrames(new ArrayList<AnimatorCurveFrame>());
-                       
-                       }
-               }
-               
-               keyframe.removeChild(frame, true);
-               
-               currentSelector.updateSelectorTime();
-               newSelector = currentSelector.cloneAnimatorSelector();
        } else {
                currentSelector.replaceAll(newSelector);
        }
index 235f1ca..718b692 100644 (file)
@@ -68,7 +68,7 @@ public class TimelineFrameEditCommand extends Command {
        AnimatorModelManager animatorModelManager =
                 AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
        
-       if(oldSelector == null  && oldSelector == null) {
+       if(oldSelector == null  || oldSelector == null) {
                oldSelector = currentSelector.cloneAnimatorSelector();
                currentSelector.replaceAll(currentSelector.cloneAnimatorSelector());
                //Change new keyframe and frame from currentSelector
index 64e16d3..ecd512f 100644 (file)
@@ -62,7 +62,7 @@ public class TimelineKeyframeDeleteCommand extends Command {
        AnimatorModelManager animatorModelManager =
                 AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
        
-       if(newSelector == null && oldSelector == null) {
+       if(newSelector == null || oldSelector == null) {
                oldSelector = currentSelector.cloneAnimatorSelector();
                currentSelector.replaceAll(currentSelector.cloneAnimatorSelector());
                keyframe = currentSelector.findAnimatorKeyframe(keyframe);
index 7273c8a..88afc54 100644 (file)
@@ -75,7 +75,7 @@ public class TimelineKeyframeEditCommand extends Command {
         AnimatorModelManager animatorModelManager =
                 AnimatorModelManager.getInstance(AnimatorUtils.getAppManager());
         
-        if(newSelector == null && oldSelector == null) {
+        if(newSelector == null || oldSelector == null) {
                oldSelector = currentSelector.cloneAnimatorSelector();
                currentSelector.replaceAll(currentSelector.cloneAnimatorSelector());
                keyframe = currentSelector.findAnimatorKeyframe(keyframe);