[Title] bug fix. configuration dlg.
authorHyunjong,park <phjwithyou.park@samsung.com>
Fri, 29 Nov 2013 02:07:26 +0000 (11:07 +0900)
committerHyunjong,park <phjwithyou.park@samsung.com>
Fri, 29 Nov 2013 02:07:26 +0000 (11:07 +0900)
[Desc.] change features tree table
[Issue] -

org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/configuration/ConfigurationDialogData.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/configuration/ConfigurationDialogDataManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/configuration/ConfigurationDialogFeaturesTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditDialogDataManager.java

index b91514a..7b69c83 100755 (executable)
@@ -87,6 +87,60 @@ public class SqlManager {
                return null;
        }
 
+//     public Connection getReplayConnection(String path) {
+//             try {
+//                     if (null != replayConnection) {
+//                             return replayConnection;
+//                     }
+//                     Class.forName("org.hsqldb.jdbcDriver");
+//                     String dbUrl = "jdbc:hsqldb:"
+//                                     + path
+//                                     + File.separator
+//                                     + AnalyzerConstants.DATABASE_NAME
+//                                     + ";shutdown=true;hsqldb.default_table_type=cached;hsqldb.large_data=true;hsqldb.cache_row=1000;hsqldb.cache_size=1000"; //$NON-NLS-1$ //$NON-NLS-2$
+//                     replayConnection = DriverManager.getConnection(dbUrl, "SA", "");
+//                     SQLWarning warning = replayConnection.getWarnings();
+//                     while (warning != null) {
+//                             System.out.println("Message: " + warning.getMessage());
+//                             System.out.println("SQL state: " + warning.getSQLState());
+//                             System.out.println("Vendor code: " + warning.getErrorCode());
+//                             warning = warning.getNextWarning();
+//                     }
+//             } catch (ClassNotFoundException e) {
+//                     e.printStackTrace();
+//             } catch (SQLException e) {
+//                     e.printStackTrace();
+//             }
+//             return replayConnection;
+//     }
+//
+//     public Connection getConnection(String path) {
+//             try {
+//                     if (null != connection) {
+//                             return connection;
+//                     }
+//                     Class.forName("org.hsqldb.jdbcDriver");
+//                     String dbUrl = "jdbc:hsqldb:"
+//                                     + path
+//                                     + File.separator
+//                                     + AnalyzerConstants.DATABASE_NAME
+//                                     + ";shutdown=true;hsqldb.default_table_type=cached;hsqldb.large_data=true;hsqldb.cache_row=1000;hsqldb.cache_size=1000"; //$NON-NLS-1$ //$NON-NLS-2$
+//                     connection = DriverManager.getConnection(dbUrl, "SA", "");
+//                     SQLWarning warning = connection.getWarnings();
+//                     while (warning != null) {
+//                             System.out.println("Message: " + warning.getMessage());
+//                             System.out.println("SQL state: " + warning.getSQLState());
+//                             System.out.println("Vendor code: " + warning.getErrorCode());
+//                             warning = warning.getNextWarning();
+//                     }
+//             } catch (ClassNotFoundException e) {
+//                     e.printStackTrace();
+//             } catch (SQLException e) {
+//                     e.printStackTrace();
+//             }
+//             return connection;
+//     }
+
        public Connection getReplayConnection(String path) {
                try {
                        if (null != replayConnection) {
index f5302cb..d8d9c03 100755 (executable)
@@ -28,7 +28,8 @@
 package org.tizen.dynamicanalyzer.ui.toolbar.configuration;
 
 public class ConfigurationDialogData {
-       public String featuresName;
-       public int swapValue;
+       public String featuresName ="";
+       public int swapValue = 0;
+       public boolean hasParrentFeature = false;
 }
 
index 6e25f62..14fa3a5 100644 (file)
@@ -52,7 +52,8 @@ public class ConfigurationDialogDataManager {
        public synchronized static ConfigurationDialogDataManager getInstance() {
                if (null == instance) {
                        instance = new ConfigurationDialogDataManager();
-                       featuresName = new String[] { ConfigureLabels.FEATURE_SYSTEM,
+                       featuresName = new String[] { 
+                       //              ConfigureLabels.FEATURE_SYSTEM,
                                        ConfigureLabels.FEATURE_SYSTEM_CPU,
                                        ConfigureLabels.FEATURE_SYSTEM_PROCESSES,
                                        ConfigureLabels.FEATURE_SYSTEM_MEMORY,
@@ -70,7 +71,7 @@ public class ConfigurationDialogDataManager {
                                        ConfigureLabels.FEATURE_RECORDING,
                                        ConfigureLabels.FEATURE_OPENGL,
                                        ConfigureLabels.FEATURE_NETWORK,
-                                       ConfigureLabels.FEATURE_SYSCALL,
+                               //      ConfigureLabels.FEATURE_SYSCALL,
                                        ConfigureLabels.FEATURE_SYSCALL_FILE,
                                        ConfigureLabels.FEATURE_SYSCALL_IPC,
                                        ConfigureLabels.FEATURE_SYSCALL_PROCESS,
@@ -83,16 +84,44 @@ public class ConfigurationDialogDataManager {
                return instance;
        }
 
+       
        // Features
        public String[] getFeature() {
                return featuresName;
        }
+       
 
-       public int featuresChecked(String featues) {
-               ConfigurationDialogData data = featuresStatusHashMap.get(featues);
-               // return Integer.parseInt(featuresStatusHashMap.get(featues));
-               return data.swapValue;
+       public int featuresSwapValue(String featues) {
+               Integer swapValue = featuresStatusHashMap.get(featues).swapValue;
+               return swapValue;
        }
+       
+       public boolean HasParentfeature(String featues) {
+               Boolean hasParrent = featuresStatusHashMap.get(featues).hasParrentFeature;
+               return hasParrent;
+       }
+       
+       public String getParentFeatureName(String featuresName) {
+               if (featuresName.equals(ConfigureLabels.FEATURE_SYSCALL_FILE)
+                               || featuresName.equals(ConfigureLabels.FEATURE_SYSCALL_IPC)
+                               || featuresName.equals(ConfigureLabels.FEATURE_SYSCALL_PROCESS)
+                               || featuresName.equals(ConfigureLabels.FEATURE_SYSCALL_SIGNAL)
+                               || featuresName.equals(ConfigureLabels.FEATURE_SYSCALL_NETWORK)
+                               || featuresName.equals(ConfigureLabels.FEATURE_SYSCALL_DESC)) {
+                       return ConfigureLabels.FEATURE_SYSCALL;
+               } else if (featuresName.equals(ConfigureLabels.FEATURE_SYSTEM_CPU)
+                               || featuresName
+                                               .equals(ConfigureLabels.FEATURE_SYSTEM_PROCESSES)
+                               || featuresName.equals(ConfigureLabels.FEATURE_SYSTEM_MEMORY)
+                               || featuresName.equals(ConfigureLabels.FEATURE_SYSTEM_DISK)
+                               || featuresName.equals(ConfigureLabels.FEATURE_SYSTEM_NETWORK)
+                               || featuresName.equals(ConfigureLabels.FEATURE_SYSTEM_DEVICE)
+                               || featuresName.equals(ConfigureLabels.FEATURE_SYSTEM_ENERGY)) {
+                       return ConfigureLabels.FEATURE_SYSTEM;
+               }
+               return CommonConstants.EMPTY;
+       }
+       
 
        public void setFeaturesChecked(String featureName, boolean status) {
                int value = AnalyzerConstants.FEATURE_OFF;
@@ -179,6 +208,12 @@ public class ConfigurationDialogDataManager {
                                ConfigurationDialogData data = new ConfigurationDialogData();
                                data.featuresName = featureName;
                                data.swapValue = mConfig.getValueInt(featureName);
+                               String parentFeaturesName = getParentFeatureName(featureName);
+                               if (parentFeaturesName.equals(CommonConstants.EMPTY)) {
+                                       data.hasParrentFeature = false;
+                               } else {
+                                       data.hasParrentFeature = true;
+                               }
                                featuresStatusHashMap.put(featureName, data);
                        } catch (NumberFormatException e) {
                                e.printStackTrace();
@@ -195,14 +230,6 @@ public class ConfigurationDialogDataManager {
                autoStopData.swapValue = mConfig.getValueInt(ConfigureLabels.SHOW_INITIAL);
                featuresStatusHashMap.put(ConfigureLabels.AUTO_STOP, autoStopData);
        }
-//
-//     private void setConfig(String featureStatus, String featureName) {
-//             if (featureStatus.equals(ON)) {
-//                     mConfig.setValue(featureName, ON);
-//             } else {
-//                     mConfig.setValue(featureName, OFF);
-//             }
-//     }
 
        private void setConfig(int featureStatus, String featureName) {
                mConfig.setValue(featureName, Integer.toString(featureStatus));
index 2152121..9e4a395 100644 (file)
@@ -38,7 +38,6 @@ import org.eclipse.swt.widgets.Listener;
 import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
 import org.tizen.dynamicanalyzer.common.CommonConstants;
 import org.tizen.dynamicanalyzer.model.TreeInput;
-import org.tizen.dynamicanalyzer.nl.ConfigureLabels;
 import org.tizen.dynamicanalyzer.resources.ImageResources;
 import org.tizen.dynamicanalyzer.ui.widgets.table.DATableDataFormat;
 import org.tizen.dynamicanalyzer.ui.widgets.table.DATableHeaderRenderer;
@@ -81,7 +80,7 @@ public class ConfigurationDialogFeaturesTable extends DATreeComposite {
 
        private String isCheckFeatue(String featueName) {
                if (AnalyzerConstants.FEATURE_OFF != ConfigurationDialogDataManager
-                               .getInstance().featuresChecked(featueName)) {
+                               .getInstance().featuresSwapValue(featueName)) {
                        return ITEM_ALL_CHECKED;
                } else {
                        return CommonConstants.EMPTY;
@@ -94,7 +93,8 @@ public class ConfigurationDialogFeaturesTable extends DATreeComposite {
                text.add(featueName);
 
                String optionColumn = isCheckFeatue(featueName);
-               String parentFeatureName = getParentFeatureName(featueName);
+               String parentFeatureName = ConfigurationDialogDataManager.getInstance()
+                               .getParentFeatureName(featueName);
                if (!parentFeatureName.equals(CommonConstants.EMPTY)) {
                        optionColumn += (ITEM_PARENT_FEATURE_NAME_ITEM + parentFeatureName);
                }
@@ -106,27 +106,6 @@ public class ConfigurationDialogFeaturesTable extends DATreeComposite {
                return outPut;
        }
 
-       private String getParentFeatureName(String featuresName) {
-               if (featuresName.equals(ConfigureLabels.FEATURE_SYSCALL_FILE)
-                               || featuresName.equals(ConfigureLabels.FEATURE_SYSCALL_IPC)
-                               || featuresName.equals(ConfigureLabels.FEATURE_SYSCALL_PROCESS)
-                               || featuresName.equals(ConfigureLabels.FEATURE_SYSCALL_SIGNAL)
-                               || featuresName.equals(ConfigureLabels.FEATURE_SYSCALL_NETWORK)
-                               || featuresName.equals(ConfigureLabels.FEATURE_SYSCALL_DESC)) {
-                       return ConfigureLabels.FEATURE_SYSCALL;
-               } else if (featuresName.equals(ConfigureLabels.FEATURE_SYSTEM_CPU)
-                               || featuresName
-                                               .equals(ConfigureLabels.FEATURE_SYSTEM_PROCESSES)
-                               || featuresName.equals(ConfigureLabels.FEATURE_SYSTEM_MEMORY)
-                               || featuresName.equals(ConfigureLabels.FEATURE_SYSTEM_DISK)
-                               || featuresName.equals(ConfigureLabels.FEATURE_SYSTEM_NETWORK)
-                               || featuresName.equals(ConfigureLabels.FEATURE_SYSTEM_DEVICE)
-                               || featuresName.equals(ConfigureLabels.FEATURE_SYSTEM_ENERGY)) {
-                       return ConfigureLabels.FEATURE_SYSTEM;
-               }
-               return CommonConstants.EMPTY;
-       }
-
        @Override
        public List<TreeInput> makeTreeInput() {
                List<TreeInput> output = new ArrayList<TreeInput>();
@@ -135,24 +114,66 @@ public class ConfigurationDialogFeaturesTable extends DATreeComposite {
                for (int i = 0; i < featuresList.length; i++) {
                        String featuresName = featuresList[i];
                        TreeInput currentNode = makeInput(featuresName);
-                       String parentFeaturesName = getParentFeatureName(featuresName);
-                       if (parentFeaturesName.equals(CommonConstants.EMPTY)) {
+                       if (!ConfigurationDialogDataManager.getInstance().HasParentfeature(
+                                       featuresName)) {
                                output.add(currentNode);
                        } else {
+                               String parentFeaturesName = ConfigurationDialogDataManager
+                                               .getInstance().getParentFeatureName(featuresName);
+                               boolean findParent = false;
                                for (int j = 0; j < output.size(); j++) {
                                        String name = (String) output.get(j).getText().get(0);
                                        if (name.equals(parentFeaturesName)) {
                                                output.get(j).getChildren().add(currentNode);
+                                               findParent = true;
                                                break;
                                        }
                                }
+                               if (!findParent) {
+                                       DATableDataFormat tableData = new DATableDataFormat(0);
+                                       List<String> text = new ArrayList<String>();
+                                       text.add(parentFeaturesName);
+                                       text.add(ITEM_ALL_CHECKED);
+                                       TreeInput treeData = new TreeInput();
+                                       treeData.setText(text);
+                                       treeData.setData(tableData);
+                                       output.add(treeData);
+                                       treeData.getChildren().add(currentNode);
+                               }
                        }
                }
+               updateParentFeatureCheckStatus(output);
                return output;
        }
-       
-       private void updateParentFeatureCheckStatus(){
-               
+
+       private void updateParentFeatureCheckStatus(List<TreeInput> output) {
+
+               for (int i = 0; i < output.size(); i++) {
+                       TreeInput treeData = output.get(i);
+
+                       if (treeData.getChildren().size() > 0) {
+                               int childCheckedCount = 0;
+                               int childUnCheckedCount = 0;
+                               for (int j = 0; j < treeData.getChildren().size(); j++) {
+                                       if (treeData.getChildren().get(j).getText().get(1)
+                                                       .contains(ITEM_ALL_CHECKED)) {
+                                               childCheckedCount++;
+                                       } else {
+                                               childUnCheckedCount++;
+                                       }
+                               }
+
+                               if (childCheckedCount > 0 && childUnCheckedCount == 0) {
+                                       setCheckStatus(treeData, ITEM_ALL_CHECKED);
+                               } else if (childCheckedCount > 0 && childUnCheckedCount > 0) {
+                                       setCheckStatus(treeData, ITEM_PART_CHECKED);
+                               } else if (childCheckedCount == 0 && childUnCheckedCount > 0) {
+                                       setCheckStatus(treeData, CommonConstants.EMPTY);
+                               }
+                       }
+
+               }
+
        }
 
        private Listener tableMouseListener = new Listener() {
@@ -236,8 +257,9 @@ public class ConfigurationDialogFeaturesTable extends DATreeComposite {
                String optionText = item.getText(tableTextOptionColumnIndex);
                if (!optionText.contains(ITEM_PARENT_FEATURE_NAME_ITEM)) {
                        for (int i = 0; i < table.getItemCount(); i++) {
-                               String parentFeatureName = getParentFeatureName(table
-                                               .getItem(i).getText(0));
+                               String parentFeatureName = ConfigurationDialogDataManager
+                                               .getInstance().getParentFeatureName(
+                                                               table.getItem(i).getText(0));
                                if (parentFeatureName.equals(featureName)) {
                                        if (optionText.contains(ITEM_ALL_CHECKED)) {
                                                setCheckStatus(table.getItem(i), ITEM_ALL_CHECKED);
@@ -250,7 +272,8 @@ public class ConfigurationDialogFeaturesTable extends DATreeComposite {
        }
 
        private void updateParentCheckBoxByChild(GridItem item, Event event) {
-               String parentFeatureName = getParentFeatureName(item.getText(0));
+               String parentFeatureName = ConfigurationDialogDataManager.getInstance()
+                               .getParentFeatureName(item.getText(0));
                int parentIndex = -1;
                int childCheckedCount = 0;
                int childUnCheckedCount = 0;
@@ -261,8 +284,9 @@ public class ConfigurationDialogFeaturesTable extends DATreeComposite {
                                continue;
                        }
                        if (parentIndex > -1) {
-                               if (getParentFeatureName(table.getItem(i).getText(0)).equals(
-                                               parentFeatureName)) {
+                               if (ConfigurationDialogDataManager.getInstance()
+                                               .getParentFeatureName(table.getItem(i).getText(0))
+                                               .equals(parentFeatureName)) {
                                        if (table.getItem(i).getText(1).contains(ITEM_ALL_CHECKED)) {
                                                childCheckedCount++;
                                        } else {
@@ -280,6 +304,24 @@ public class ConfigurationDialogFeaturesTable extends DATreeComposite {
                }
        }
 
+       private void setCheckStatus(TreeInput item, String status) {
+               String optionText = item.getText().get(tableTextOptionColumnIndex);
+               if (optionText.contains(ITEM_ALL_CHECKED)) {
+                       optionText = item.getText().get(tableTextOptionColumnIndex)
+                                       .replace(ITEM_ALL_CHECKED, CommonConstants.EMPTY);
+               } else if (optionText.contains(ITEM_PART_CHECKED)) {
+                       optionText = item.getText().get(tableTextOptionColumnIndex)
+                                       .replace(ITEM_PART_CHECKED, CommonConstants.EMPTY);
+               }
+
+               if (status.contains(ITEM_ALL_CHECKED)) {
+                       optionText += ITEM_ALL_CHECKED;
+               } else if (status.contains(ITEM_PART_CHECKED)) {
+                       optionText += ITEM_PART_CHECKED;
+               }
+               item.getText().set(tableTextOptionColumnIndex, optionText);
+       }
+
        private void setCheckStatus(GridItem item, String status) {
                String optionText = item.getText(tableTextOptionColumnIndex);
                if (optionText.contains(ITEM_ALL_CHECKED)) {
index e14088a..f069187 100644 (file)
@@ -121,24 +121,25 @@ public class ReplayEditDialogDataManager {
                return replayModifyDataList;
        }
 
-       private void removeWrongData(List<ReplayEditTableData> listData) {
-               List<ReplayEditTableData> removeList = new ArrayList<ReplayEditTableData>();
-               for (int i = 0; i < listData.size(); i++) {
-                       if (listData.get(i).getLongEventMouseDownTime() > listData.get(i)
-                                       .getLongEventMouseUpTime()) {
-                               removeList.add(listData.get(i));
-                       }
-                       if (i > 0) {
-                               if (listData.get(i - 1).getLongEventMouseDownTime() == listData
-                                               .get(i).getLongEventMouseDownTime()
-                                               && listData.get(i - 1).getLongEventMouseUpTime() == listData
-                                                               .get(i).getLongEventMouseUpTime()) {
-                                       removeList.add(listData.get(i));
-                               }
-                       }
-               }
-               listData.removeAll(removeList);
-       }
+       // private void removeWrongData(List<ReplayEditTableData> listData) {
+       // List<ReplayEditTableData> removeList = new
+       // ArrayList<ReplayEditTableData>();
+       // for (int i = 0; i < listData.size(); i++) {
+       // if (listData.get(i).getLongEventMouseDownTime() > listData.get(i)
+       // .getLongEventMouseUpTime()) {
+       // removeList.add(listData.get(i));
+       // }
+       // if (i > 0) {
+       // if (listData.get(i - 1).getLongEventMouseDownTime() == listData
+       // .get(i).getLongEventMouseDownTime()
+       // && listData.get(i - 1).getLongEventMouseUpTime() == listData
+       // .get(i).getLongEventMouseUpTime()) {
+       // removeList.add(listData.get(i));
+       // }
+       // }
+       // }
+       // listData.removeAll(removeList);
+       // }
 
        private void removeNotExistMouseUpTimeItem(
                        List<ReplayEditTableData> listData) {
@@ -248,15 +249,13 @@ public class ReplayEditDialogDataManager {
                                replayType.setEventMouseDownTime(reo.getTime());
                                replayType.setStrEventType(setEventType(reo.getEventType()));
                                replayType.setEventRid(reo.getId());
-                       } else if (reo.getEventCode() == TOUCH_EVENT_CODE_X
-                                       && getReplayModifyData().size() > 1) {
+                       } else if (reo.getEventCode() == TOUCH_EVENT_CODE_X) {
                                getReplayModifyData()
                                                .get(getReplayModifyData().size() - 1)
                                                .setStrEventValue1(
                                                                ReplayEditLabels.CONTEXT_VALUE_X
                                                                                + Integer.toString(reo.getEventValue()));
-                       } else if (reo.getEventCode() == TOUCH_EVENT_CODE_Y
-                                       && getReplayModifyData().size() > 1) {
+                       } else if (reo.getEventCode() == TOUCH_EVENT_CODE_Y) {
                                getReplayModifyData()
                                                .get(getReplayModifyData().size() - 1)
                                                .setStrEventValue2(