fix an NPE found in a user's logs; fix typo in method name
authorDmitry Jemerov <yole@jetbrains.com>
Fri, 7 Oct 2011 11:43:23 +0000 (13:43 +0200)
committerDmitry Jemerov <yole@jetbrains.com>
Fri, 7 Oct 2011 12:41:27 +0000 (14:41 +0200)
platform/platform-impl/src/com/intellij/ide/actionMacro/ActionMacro.java
platform/platform-impl/src/com/intellij/ide/actionMacro/ActionMacroManager.java

index 403f14ac16f21a4db05effa77f24563bb79ec53e..f7e45efc125956f70d6c739cd619014d380cec34 100644 (file)
@@ -22,9 +22,14 @@ import com.intellij.openapi.editor.actionSystem.EditorActionManager;
 import com.intellij.openapi.editor.actionSystem.TypedAction;
 import com.intellij.openapi.ui.playback.commands.KeyCodeTypeCommand;
 import com.intellij.openapi.ui.playback.commands.TypeCommand;
-import com.intellij.openapi.util.*;
+import com.intellij.openapi.util.InvalidDataException;
+import com.intellij.openapi.util.JDOMExternalizable;
+import com.intellij.openapi.util.Pair;
+import com.intellij.openapi.util.WriteExternalException;
+import com.intellij.openapi.util.text.StringUtil;
 import org.jdom.Element;
 import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -88,7 +93,9 @@ public class ActionMacro implements JDOMExternalizable {
           text = action.getAttributeValue(ATTRIBUTE_TEXT);
         }
 
-        myActions.add(new TypedDescriptor(text, codes.getFirst(), codes.getSecond()));
+        if (!StringUtil.isEmpty(text)) {
+          myActions.add(new TypedDescriptor(text, codes.getFirst(), codes.getSecond()));
+        }
       }
       else if (ELEMENT_ACTION.equals(action.getName())) {
         myActions.add(new IdActionDescriptor(action.getAttributeValue(ATTRIBUTE_ID)));
@@ -175,7 +182,7 @@ public class ActionMacro implements JDOMExternalizable {
     myActions.add(new IdActionDescriptor(actionId));
   }
 
-  public void appendShortuct(String text) {
+  public void appendShortcut(String text) {
     myActions.add(new ShortcutActionDesciption(text));
   }
 
@@ -208,7 +215,7 @@ public class ActionMacro implements JDOMExternalizable {
     private final List<Integer> myKeyCodes = new ArrayList<Integer>();
     private final List<Integer> myModifiers = new ArrayList<Integer>();
 
-    public TypedDescriptor(String text, List<Integer> keyCodes, List<Integer> modifiers) {
+    public TypedDescriptor(@NotNull String text, List<Integer> keyCodes, List<Integer> modifiers) {
       myText = text;
       myKeyCodes.addAll(keyCodes);
       myModifiers.addAll(modifiers);
index 22d54817764db8dc0dd7e850fc928085551090a6..275b18d602daf0392d99482b613c96587590fef0 100644 (file)
@@ -372,7 +372,7 @@ public class ActionMacroManager implements ExportableApplicationComponent, Named
 
           String ready = (modifiers.replaceAll("ctrl", "control").trim() + " " + key.trim()).trim();
           
-          myRecordingMacro.appendShortuct(ready);
+          myRecordingMacro.appendShortcut(ready);
           if (!isEnter) {
             myLastActionInputEvent = null;
           }