+\r
+\r
package org.tizen.dynamicanalyzer.handlers;\r
\r
import java.io.File;\r
import org.tizen.dynamicanalyzer.uirecorder.RecorderXml;\r
import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;\r
\r
+\r
public class SaveTraceHandler extends AbstractHandler {\r
\r
- public static final String ID = SaveTraceHandler.class.getName();\r
-\r
- public static final String DEFAULT_DATE_FORMAT = "_yyyy-MM-dd-HH:mm:ss"; //$NON-NLS-1$\r
-\r
- @Override\r
- public Object execute(ExecutionEvent event) throws ExecutionException {\r
- // copy temp save file to save folder\r
- // renaming folder name to app name + date time\r
- Project project = AnalyzerManager.getProject();\r
- String sourcePath = project.getSavePath();\r
-\r
- SimpleDateFormat format = new SimpleDateFormat(DEFAULT_DATE_FORMAT,\r
- Locale.KOREA);\r
- Date date = new Date();\r
- String targetPath = AnalyzerConstants.SAVE_FOLDER_PATH + File.separator\r
- + project.getAppName() + format.format(date);\r
- String targetImagePath = targetPath\r
- + AnalyzerConstants.IMAGE_FOLDER_NAME;\r
-\r
- File targetFolder = new File(targetImagePath);\r
- if (!targetFolder.isDirectory()) {\r
- targetFolder.mkdirs();\r
- }\r
- String targetFilePath = targetPath + File.separator\r
- + AnalyzerConstants.DATABASE_NAME;\r
- String sourceFilePath = sourcePath + File.separator\r
- + AnalyzerConstants.DATABASE_NAME;\r
- AnalyzerUtil.copyFile(sourceFilePath, targetFilePath);\r
-\r
- String sourceUIRecorderPath = sourcePath + File.separator\r
- + RecorderXml.xmlFileName;\r
- String targetUIRecorderPath = targetPath + File.separator\r
- + RecorderXml.xmlFileName;\r
- if (new File(sourceUIRecorderPath).exists()) {\r
- AnalyzerUtil.copyFile(sourceUIRecorderPath, targetUIRecorderPath);\r
- }\r
-\r
- project.setSavePath(targetPath);\r
-\r
- // delete source file and folder\r
- // save trace callstack\r
- String sourceImgFolder = sourcePath\r
- + AnalyzerConstants.IMAGE_FOLDER_NAME;\r
- AnalyzerUtil.saveTraceImage(sourceImgFolder, targetImagePath);\r
- try {\r
- boolean success = AnalyzerUtil.deleteFile(new File(sourcePath));\r
- AnalyzerManager.removeFromProjectList(sourcePath);\r
- if (success) {\r
- // add snapshot model update\r
- SnapshotData.getInstance().update();\r
- System.out.println("save complete!!"); //$NON-NLS-1$\r
- } else {\r
- System.out.println("save fail..."); //$NON-NLS-1$\r
- }\r
- } catch (Exception e) {\r
- e.printStackTrace();\r
- return 1;\r
- }\r
-\r
- return 0;\r
- }\r
+ public static final String ID = SaveTraceHandler.class.getName();\r
+\r
+ public static final String DEFAULT_DATE_FORMAT = "_yyyy-MM-dd-HH:mm:ss"; //$NON-NLS-1$\r
+\r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ // copy temp save file to save folder\r
+ // renaming folder name to app name + date time\r
+ Project project = AnalyzerManager.getProject();\r
+ String sourcePath = project.getSavePath();\r
+\r
+ String[] splitSourcePath = sourcePath.split("\\/");\r
+ String saveName = new String(splitSourcePath[splitSourcePath.length - 1]);\r
+ String targetPath = AnalyzerConstants.SAVE_FOLDER_PATH + File.separator + saveName;\r
+ String targetImagePath = targetPath + AnalyzerConstants.IMAGE_FOLDER_NAME;\r
+\r
+ File targetFolder = new File(targetImagePath);\r
+ if (!targetFolder.isDirectory()) {\r
+ targetFolder.mkdirs();\r
+ }\r
+ String targetFilePath = targetPath + File.separator + AnalyzerConstants.DATABASE_NAME;\r
+ String sourceFilePath = sourcePath + File.separator + AnalyzerConstants.DATABASE_NAME;\r
+ AnalyzerUtil.copyFile(sourceFilePath, targetFilePath);\r
+\r
+ String sourceUIRecorderPath = sourcePath + File.separator + RecorderXml.xmlFileName;\r
+ String targetUIRecorderPath = targetPath + File.separator + RecorderXml.xmlFileName;\r
+ if (new File(sourceUIRecorderPath).exists()) {\r
+ AnalyzerUtil.copyFile(sourceUIRecorderPath, targetUIRecorderPath);\r
+ }\r
+\r
+ project.setSavePath(targetPath);\r
+\r
+ // delete source file and folder\r
+ // save trace callstack\r
+ String sourceImgFolder = sourcePath + AnalyzerConstants.IMAGE_FOLDER_NAME;\r
+ AnalyzerUtil.saveTraceImage(sourceImgFolder, targetImagePath);\r
+ try {\r
+ boolean success = AnalyzerUtil.deleteFile(new File(sourcePath));\r
+ AnalyzerManager.removeFromProjectList(sourcePath);\r
+ if (success) {\r
+ // add snapshot model update\r
+ SnapshotData.getInstance().update();\r
+ System.out.println("save complete!!"); //$NON-NLS-1$\r
+ } else {\r
+ System.out.println("save fail..."); //$NON-NLS-1$\r
+ }\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ return 1;\r
+ }\r
+\r
+ return 0;\r
+ }\r
\r
}\r