UIB : Fixed null pointer dereferences 62/18362/1
authorjaeyeol lee <jaeyeol148.lee@samsung.com>
Fri, 21 Mar 2014 07:35:28 +0000 (16:35 +0900)
committerjaeyeol lee <jaeyeol148.lee@samsung.com>
Fri, 21 Mar 2014 07:35:28 +0000 (16:35 +0900)
Change-Id: Ib68b9cf6b5439d86c6055384e8155472f9f7fd41
Signed-off-by: jaeyeol lee <jaeyeol148.lee@samsung.com>
org.tizen.webuibuilder/src/org/tizen/webuibuilder/gef/commands/SetDataSourceCommand.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/outline/OutlineTreeTransferDropListener.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/databinding/DataBindingDnDManager.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/databinding/DataBindingPage.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/databinding/SetSourceDialog.java

index 1f5c0ad..bfdcaf7 100644 (file)
@@ -36,7 +36,9 @@ public class SetDataSourceCommand extends Command {
                        appManager.removeDataSource(bindingData);
                } else if (type.equals(BindingDataSetEventType.DATASOURCE_CHANGED)) {
                        oldBindingData = appManager.getDataSource(bindingData.getSourceName());
-                       appManager.removeDataSource(oldBindingData);
+                       if (oldBindingData != null) {
+                               appManager.removeDataSource(oldBindingData);
+                       }
                        appManager.addDataSource(bindingData);
                } else {
                        appManager.addDataSource(bindingData);
index 7c73596..b1110ee 100644 (file)
@@ -255,6 +255,9 @@ class OutlineTreeTransferDropListener extends AbstractTransferDropTargetListener
     protected boolean isMove() {
         if (OutlineTreeTransfer.getInstance().isSupportedType(getCurrentEvent().currentDataType)) {
             EditPart source = getSourceEditPart();
+            if (source == null) {
+               return false;
+            }
             List selection = (List) OutlineTreeTransfer.getInstance().getObject();
             for (int i = 0; i < selection.size(); i++) {
                 EditPart ep = (EditPart) selection.get(i);
index 419d62c..e6461dc 100644 (file)
@@ -299,7 +299,7 @@ public class DataBindingDnDManager {
                             (TreeItemData) getRootItemFromTree((TreeItem) event.item)
                                     .getData("TREEITEMDATA");
                     BindingData dataModel = (BindingData) treeItemData.getModel();
-                    if ((event.item != null) && (dataModel.getModelType().equals("STATIC"))) {
+                    if ((event.item != null) && (dataModel != null) && (dataModel.getModelType().equals("STATIC"))) {
                         TreeItem item = (TreeItem) event.item;
                         Point pt = tree.getDisplay().map(null, tree, event.x, event.y);
                         Rectangle bounds = item.getBounds();
index ca28208..43b3793 100644 (file)
@@ -563,6 +563,10 @@ public class DataBindingPage extends Page implements IBindingDataSetListener {
     
     public void setDataSourceToViewModel(BindingData dataSource, BindingData viewModel) {
        BindingData bindingData;
+       if (dataSource == null) {
+               return;
+       }
+       
        if (viewModel == null) {
                bindingData = new BindingData();
                int idIndex = 0;
index 863b95e..23ed1d2 100644 (file)
@@ -859,10 +859,15 @@ public class SetSourceDialog extends Dialog {
                             public void keyPressed(KeyEvent event) {
                                 switch (event.keyCode) {
                                     case SWT.CR:
-                                    case SWT.KEYPAD_CR:
                                         // Enter hit--set the text into the tree and
                                         // drop through
                                         treeItem.setText(column, text.getText());
+                                        text.dispose();
+                                        break;
+                                    case SWT.KEYPAD_CR:
+                                        treeItem.setText(column, text.getText());
+                                        text.dispose();
+                                        break;
                                     case SWT.ESC:
                                         // End editing session
                                         text.dispose();
@@ -916,10 +921,15 @@ public class SetSourceDialog extends Dialog {
                         public void keyPressed(KeyEvent event) {
                             switch (event.keyCode) {
                                 case SWT.CR:
-                                case SWT.KEYPAD_CR:
                                     // Enter hit--set the text into the tree and
                                     // drop through
+                                       item.setText(text.getText());
+                                    text.dispose();
+                                    break;
+                                case SWT.KEYPAD_CR:
                                     item.setText(text.getText());
+                                    text.dispose();
+                                    break;
                                 case SWT.ESC:
                                     // End editing session
                                     text.dispose();
@@ -1415,6 +1425,7 @@ public class SetSourceDialog extends Dialog {
         while ((cp = rd.read()) != -1) {
             sb.append((char) cp);
         }
+        rd.close();
         return sb.toString();
     }
 
@@ -1443,13 +1454,11 @@ public class SetSourceDialog extends Dialog {
     }
 
     private static JSONObject readJsonFromFile(String file) throws IOException {
-
         BufferedReader rd = new BufferedReader(new FileReader(file));
         String jsonText = readAll(rd);
         JSONObject json = (JSONObject) JSONValue.parse(jsonText);
-        rd.close();
+        
         return json;
-
     }
 
     private void makeTreeItemsFromJson(JSONObject json, String str, TreeItem parentTreeItem,