UIB : Removes null pointer exceptions. 40/18240/1
authornakyoung2.choi <nakyoung2.choi@samsung.com>
Wed, 19 Mar 2014 07:44:45 +0000 (16:44 +0900)
committernakyoung2.choi <nakyoung2.choi@samsung.com>
Wed, 19 Mar 2014 07:44:45 +0000 (16:44 +0900)
Removes null pointer exceptions.

Change-Id: I39f2b5173f7e77a4fe1c42ca45b8158bfeb072e4
Signed-off-by: nakyoung2.choi <nakyoung2.choi@samsung.com>
21 files changed:
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/WidgetValidator.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/css/CssComponent.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/css/CssValue.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/css/io/CssReaderOfMetrix.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/io/CodeGenerator.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/page/PageData.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/outline/OutlineEditPolicy.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesignerForAppXML.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/HTMLBlockPropertyModifier.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/action/ActionCustomActionAdderComposite.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/action/ActionEventComposite.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/action/ActionExpanderbleTriggerM.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/action/ActionTab.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/attributes/AttributesEventDelegater.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/method/ClipMethod.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/method/ColorFillMethod.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/method/EventHandlerMethod.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/method/NewColorMethod.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/method/TextStyleMethod.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/style/CssStyleAnimationEventDelegater.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/properties/style/CssStyleTab.java

index fb332ad..2ec5e45 100644 (file)
@@ -49,7 +49,7 @@ public class WidgetValidator {
     /**
      * The error string.
      */
-    private static final String ERROR = "error"; //$NON-NLS-1$
+    public static final String ERROR = "error"; //$NON-NLS-1$
 
     /**
      * An auto size.
index 485a7b4..9c8467b 100644 (file)
@@ -142,20 +142,22 @@ public class CssComponent {
                 fullValue = value + unit;
             }
         } else {
-            fullValue = value + BuilderConstants.OPEN_BRACKET;
+            StringBuilder builder = new StringBuilder(value);
+            builder.append(BuilderConstants.OPEN_BRACKET);
 
             int paramSize = parameters.size();
             for (int i = 0; i < paramSize; i++) {
                 CssComponent child = parameters.get(i);
-                fullValue += child.getValue();
+                builder.append(child.getValue());
 
                 if (i + 1 != paramSize) {
-                    fullValue += BuilderConstants.COMMA + BuilderConstants.SPACE;
+                    builder.append(BuilderConstants.COMMA);
+                    builder.append(BuilderConstants.SPACE);
                 }
-
             }
 
-            fullValue += BuilderConstants.CLOSE_BRACKET;
+            builder.append(BuilderConstants.CLOSE_BRACKET);
+            fullValue = builder.toString();
         }
         return fullValue;
     }
index e5b7f8f..1498a7b 100644 (file)
@@ -59,17 +59,17 @@ public class CssValue {
         if (value != null) {
             return value;
         }
-        String temp = BuilderConstants.EMPTY;
+        StringBuilder builder = new StringBuilder();
         Iterator<CssComponent> iter = components.iterator();
         while (iter.hasNext()) {
-            temp += iter.next().getValue();
+            builder.append(iter.next().getValue());
 
             if (iter.hasNext()) {
-                temp += BuilderConstants.SPACE;
+                builder.append(BuilderConstants.SPACE);
             }
         }
 
-        value = temp;
+        value = builder.toString();
         return value;
     }
 
index 51f12f5..27c01bb 100644 (file)
@@ -34,6 +34,9 @@ public class CssReaderOfMetrix {
 
     static List<CssComponent> metrixToComponent(List<CssComponent> list, LexicalUnit lu,
                                                 CssPropertyDescriptor propDescriptor) {
+        if (propDescriptor == null) {
+            return null;
+        }
 
         // List<CssComponent> componentList= new ArrayList<CssComponent>();
         List<CssComponent> componentList = list;
@@ -110,6 +113,9 @@ public class CssReaderOfMetrix {
 
     private static CssComponent createTransformComponent(CssComponent parent, double matrixValue[],
                                                          CssPropertyDescriptor propDescriptor) {
+        if (propDescriptor == null) {
+            return null;
+        }
 
         String getPropertyName = propDescriptor.getPropertyName();
         int childDescriptorSize = propDescriptor.getChildPropertyDescriptors().size();
index aa224c0..64eeb89 100644 (file)
@@ -385,6 +385,9 @@ public class CodeGenerator {
                }
 
                Part part = rootPart.getChildOfIdPropertyValue(partId, true);
+               if (part == null) {
+                   return BuilderConstants.EMPTY;
+               }
                String css = getCssCode(part, false);
 
                return css;
index ac98fcf..ddbfe95 100644 (file)
@@ -675,7 +675,7 @@ public class PageData implements IPartListener, ICssListener {
                        CssSelector selector = getCurrentCssFile()
                                        .getSelector(selectorName);
                        if (selector == null
-                                       && !part.getPositionMode().equals(
+                                       || !part.getPositionMode().equals(
                                                        Part.PositionMode.ABSOLUTE_POSITION)) {
                                return;
                        } else if (selector != null) {
index c03554c..3b7678f 100644 (file)
@@ -140,9 +140,10 @@ public class OutlineEditPolicy extends TreeContainerEditPolicy {
     public Command getCommand(Request req) {
         if (OutlineConstants.REQ_RENAME.equals(req.getType())) {
             return getRenameCommand(req);
-        }
-        if (REQ_MOVE.equals(req.getType())) {
-            return getMoveCommand((ChangeBoundsRequest) req);
+        } else if (REQ_MOVE.equals(req.getType())) {
+            if (req instanceof ChangeBoundsRequest) {
+                return getMoveCommand((ChangeBoundsRequest) req); 
+            }
         }
         return super.getCommand(req);
     }
index 8a7a7a7..3ae8068 100644 (file)
@@ -126,7 +126,7 @@ public class PageDesignerForAppXML extends PageDesigner {
 
                /* load css file */
                if (pageData != null && pageData.getCssFiles() != null
-                               && pageData.getCssFiles().size() == 0) {
+                               && pageData.getCssFiles().size() == 0 && pageFileData != null) {
                        for (NScreenModel model : pageFileData.getNscreenModelList()) {
                                CssFile cssFile = null;
                                if (model.getFileName() == null
index 2b98074..7c4cd16 100644 (file)
@@ -118,6 +118,9 @@ public class HTMLBlockPropertyModifier implements IDocumentListener {
             ErrorDialog.open("Couldn't open HTML editor");
         }
 
+        if (htmlEditor == null) {
+            return;
+        }
         StructuredTextEditor editor = null;
         if (htmlEditor instanceof StructuredTextEditor) {
             editor = (StructuredTextEditor) htmlEditor;
index 3df3c4a..d51d8ae 100644 (file)
@@ -54,12 +54,12 @@ public class ActionCustomActionAdderComposite extends Composite {
     private Composite parentComposite;
     private Part model;
     private CommandStack commandStack;
-    private Composite clientComposite;
+//    private Composite clientComposite;
     private List<ActionCustomEventComposite> actionSelectionBars =
             new ArrayList<ActionCustomEventComposite>();
 
     private static String displayLabel = "Custom Actions";
-    private int triggerCount = 0;
+//    private int triggerCount = 0;
 
     public ActionCustomActionAdderComposite(Composite parent, int style, Part model,
             CommandStack commandStack) {
@@ -89,8 +89,9 @@ public class ActionCustomActionAdderComposite extends Composite {
 
     private void init() {
 
-        clientComposite = this;
-        Composite customLabelComposite = createClientForEventName(this, SWT.NONE, displayLabel);
+//        clientComposite = this;
+//        Composite customLabelComposite = createClientForEventName(this, SWT.NONE, displayLabel);
+        createClientForEventName(this, SWT.NONE, displayLabel);
 
         return;
     }
index 690366b..8edcf7a 100644 (file)
@@ -63,7 +63,7 @@ public class ActionEventComposite extends Composite {
     private FormToolkit toolkit;
     private Part model;
     private CommandStack commandStack;
-    private Composite eventNameComposite;
+//    private Composite eventNameComposite;
     private Composite clientComposite;
     private int actionBarIndex = 0;
     private List<ActionSelectBarComposite> actionSelectionBars =
@@ -128,7 +128,8 @@ public class ActionEventComposite extends Composite {
      */
     private void init() {
 
-        eventNameComposite = createClientForEventName(this, SWT.NONE, triggerDisplayName);
+//        eventNameComposite = createClientForEventName(this, SWT.NONE, triggerDisplayName);
+        createClientForEventName(this, SWT.NONE, triggerDisplayName);
         clientComposite = this;
 
         return;
index ef21834..5f843df 100644 (file)
@@ -43,6 +43,8 @@ import org.eclipse.ui.forms.events.ExpansionEvent;
 import org.eclipse.ui.forms.events.IExpansionListener;
 import org.eclipse.ui.forms.widgets.ExpandableComposite;
 import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.tizen.webuibuilder.animator.gef.command.ActoinCreateCommand;
 import org.tizen.webuibuilder.animator.model.AnimatorAction;
 import org.tizen.webuibuilder.animator.model.AnimatorAnimation;
@@ -204,6 +206,8 @@ public class ActionExpanderbleTriggerM {
             // lastUpperComposite = addAnimationEC(clientComposite, SWT.BORDER,
             // predefinedAnimatorAction);
             // }
+            Logger logger = LoggerFactory.getLogger(getClass());
+            logger.debug("modelTrigger is " + modelTrigger.getEventName());
 
         }
 
index 1ae43fe..fae8979 100644 (file)
@@ -62,7 +62,7 @@ public class ActionTab extends PropertiesTabItem {
     private List<ActionEventComposite> actionEventComposites =
             new ArrayList<ActionEventComposite>();
     private ActionCustomActionAdderComposite customActionAdder;
-    private Method messageMethod;
+//    private Method messageMethod;
 
     private CommandStack commandStack;
     private Method noContent;
@@ -204,9 +204,9 @@ public class ActionTab extends PropertiesTabItem {
             customActionAdder.dispose();
         }
 
-        if (messageMethod != null) {
-            messageMethod.dispose();
-        }
+//        if (messageMethod != null) {
+//            messageMethod.dispose();
+//        }
 
     }
 
index 04027fb..c9cf0f2 100644 (file)
@@ -47,8 +47,8 @@ import org.tizen.webuibuilder.ui.views.properties.method.MethodEvent;
  */
 public class AttributesEventDelegater implements IPartListener, IValueChangeListener, ICssListener {
 
-    @SuppressWarnings("unused")
-    private List<Part> models;
+//    @SuppressWarnings("unused")
+//    private List<Part> models;
     private Part model;
     private CommandStack commandStack;
     private AttributesTab attrTab;
@@ -122,7 +122,7 @@ public class AttributesEventDelegater implements IPartListener, IValueChangeList
      *            list of {@link Part}
      */
     public void setModel(List<Part> models) {
-        this.models = models;
+//        this.models = models;
 
         if (models != null && !models.isEmpty()) {
             model = models.get(0);
@@ -181,6 +181,9 @@ public class AttributesEventDelegater implements IPartListener, IValueChangeList
                     String comparePropName = condition.getValue();
                     Method compareMethod = attrTab.getMethod(comparePropName);
 
+                    if (compareMethod == null) {
+                        return WidgetValidator.ERROR;
+                    }
                     message =
                             model.canSetPropertyValue(condition, newValue,
                                                       compareMethod.getValue(),
index f0488dc..22f24b3 100644 (file)
@@ -36,6 +36,8 @@ import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.tizen.webuibuilder.BuilderConstants;
 import org.tizen.webuibuilder.model.Part;
 import org.tizen.webuibuilder.utility.ResourceManager;
@@ -684,6 +686,8 @@ public class ClipMethod extends Method {
                 }
             } else if (value.toLowerCase().contains("auto")) {
                 // do nothing !!
+                Logger logger = LoggerFactory.getLogger(getClass());
+                logger.debug("Do nothing on setViewData");
             }
         }
     }
index 077303d..32ce77b 100644 (file)
@@ -788,13 +788,20 @@ public class ColorFillMethod extends Method {
                         String text = userView.getText();
                         switch (checkValidation(text)) {
                             case HEX:
-                                if (check.getSelection())
+                                if (check.getSelection()) {
                                     target.setValue(text);
+                                }
                                 break;
                             case RGBA:
                             case RGB:
-                                if (check.getSelection())
-                                    target.setValue(changeRgbString2HexString(text));
+                                if (check.getSelection()) {
+                                    String value = changeRgbString2HexString(text);
+                                    if (value == null) {
+                                        value = BuilderConstants.EMPTY;
+                                    }
+                                    target.setValue(value);
+                                }
+                                    
                                 break;
                             case NONE:
                             default:
index 0a7335b..0fdf8dc 100644 (file)
@@ -64,7 +64,7 @@ public class EventHandlerMethod extends Method {
 
     @Override
     protected FormData getControlLayoutData() {
-        FormData data = new FormData();
+        FormData data = super.getControlLayoutData();
         data.top = new FormAttachment(getLabel(), 0, SWT.CENTER);
         data.left = new FormAttachment(getLabel(), 0);
         data.right = new FormAttachment(100, -30);
@@ -115,6 +115,7 @@ public class EventHandlerMethod extends Method {
 
     @Override
     public void refreshValue(String name, String value) {
+        super.refreshValue(name, value);
         getControl().setText(value);
     }
 
index 1983166..3c58bef 100644 (file)
@@ -793,7 +793,11 @@ public class NewColorMethod extends Method {
                                 break;
                             case RGBA:
                             case RGB:
-                                target.setValue(changeRgbString2HexString(text));
+                                String value = changeRgbString2HexString(text);
+                                if (value == null) {
+                                    value = BuilderConstants.EMPTY;
+                                }
+                                target.setValue(value);
                                 break;
                             case NONE:
                             default:
index 0b5ce12..71e2352 100644 (file)
@@ -246,6 +246,9 @@ public class TextStyleMethod extends GroupMethod {
             resetChilden();
             return;
         }
+        if (name == null) {
+            name = BuilderConstants.EMPTY;
+        }
 
         Method child = getChildMethod(name);
         if (child != null) {
index 988c1a7..9b7863e 100644 (file)
@@ -32,6 +32,8 @@ import java.util.regex.Pattern;
 
 import org.eclipse.gef.commands.Command;
 import org.eclipse.gef.commands.CommandStack;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.tizen.webuibuilder.BuilderConstants;
 import org.tizen.webuibuilder.animator.gef.command.SetCssStyleAnimationPropertyCommand;
 import org.tizen.webuibuilder.animator.model.AnimatorFrame;
@@ -139,6 +141,11 @@ public class CssStyleAnimationEventDelegater implements IValueChangeListener, IC
 
         CssCategoryDescriptor descriptor = cssStyleTab.getFakeDescriptor(null);
 
+        if (descriptor == null) {
+            Logger logger = LoggerFactory.getLogger(getClass());
+            logger.error("Descriptor is null");
+            return;
+        }
         descriptorDefaultSetter(descriptor);
 
         for (CssPropertyDescriptor property : descriptor.getCssPropertyDescriptors()) {
@@ -153,6 +160,9 @@ public class CssStyleAnimationEventDelegater implements IValueChangeListener, IC
      *            target descriptor for set default value {@link CssCategoryDescriptor}
      */
     private void descriptorDefaultSetter(CssCategoryDescriptor descriptor) {
+        if (descriptor == null) {
+            return;
+        }
         CssSelector selector = cssStyleTab.getCssSelector();
         String value = selector.getPropertyValue("-webkit-transform");
         if (value == null || value.equals(BuilderConstants.EMPTY)) {
index a2b2ecd..9d1c05e 100644 (file)
@@ -435,6 +435,7 @@ public class CssStyleTab extends PropertiesTabItem implements IPageDataListener
 
         if (categoryContainer == null || categoryContainer.isDisposed()) {
             logger.error("Category Conatainer disposed...");
+            return;
         }
         GridData categoryData = (GridData) categoryContainer.getLayoutData();
 
@@ -1079,6 +1080,9 @@ public class CssStyleTab extends PropertiesTabItem implements IPageDataListener
 
             /* 1. check already been frame */
             AnimatorSelector animatorSelector = getAnimatorSelector();
+            if (animatorSelector == null) {
+                return null;
+            }
             tempFrame = animatorSelector.getAnimatorFrameByCurrentTime(currentTime);
 
             /* 2. create frame if not be */
@@ -1109,6 +1113,8 @@ public class CssStyleTab extends PropertiesTabItem implements IPageDataListener
                 tempFrame = getFrame();
             }
         } else {
+            Logger logger = LoggerFactory.getLogger(getClass());
+            logger.error("CssStyleTab has not animator model");
             // TODO Log("has not model");
         }
         return tempFrame;