--- /dev/null
+package org.tizen.dynamicanalyzer.handlers;
+
+import java.io.File;
+
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
+import org.tizen.dynamicanalyzer.common.AnalyzerManager;
+import org.tizen.dynamicanalyzer.common.path.PathManager;
+import org.tizen.dynamicanalyzer.database.SqlConnectionManager;
+import org.tizen.dynamicanalyzer.project.Project;
+import org.tizen.dynamicanalyzer.sql.SqlManager;
+import org.tizen.dynamicanalyzer.swap.logparser.DataManagerRegistry;
+import org.tizen.dynamicanalyzer.swap.logparser.PageDataManager;
+import org.tizen.dynamicanalyzer.util.Logger;
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
+
+public class CommandActionHandler {
+ public static boolean save(String saveFileName) {
+ Project project = AnalyzerManager.getProject();
+ String sourcePath = project.getSavePath();
+ String targetPath = PathManager.DA_SAVE_PATH + File.separator
+ + saveFileName;
+
+ // save rest data before closing connection to db
+ DataManagerRegistry.saveData();
+
+ SqlManager.getInstance().closeConnection();
+ SqlConnectionManager.closeConnection();
+
+ File sourceFolder = new File(sourcePath);
+ if (!sourceFolder.isDirectory()) {
+ if (!sourceFolder.mkdirs()) {
+ Logger.debug("source directory create failed...");
+ return false;
+ }
+ }
+
+ File targetFolder = new File(targetPath);
+ if (!targetFolder.isDirectory()) {
+ if (!targetFolder.mkdirs()) {
+ Logger.debug("target directory create failed...");
+ return false;
+ }
+ }
+ AnalyzerUtil.copyDirectory(sourceFolder, targetFolder);
+ project.setSavePath(targetPath);
+
+ boolean success = AnalyzerUtil.deleteFile(new File(sourcePath));
+ if (success) {
+ // add snapshot model update
+ Logger.debug("save complete!!"); //$NON-NLS-1$
+ } else {
+ Logger.debug("save fail..."); //$NON-NLS-1$
+ }
+
+ // establish db connection with new path
+ SqlConnectionManager.establishConnection(project.getSavePath()
+ + File.separator + AnalyzerConstants.DATABASE_NAME);
+
+ return success;
+ }
+}
package org.tizen.dynamicanalyzer.ui.toolbar;
-import java.io.File;
-
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
import org.tizen.dynamicanalyzer.appearance.DesignConstants;
import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.common.AnalyzerManager;
-import org.tizen.dynamicanalyzer.common.path.PathManager;
import org.tizen.dynamicanalyzer.constant.CommonConstants;
-import org.tizen.dynamicanalyzer.database.SqlConnectionManager;
import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
import org.tizen.dynamicanalyzer.nl.WidgetLabels;
import org.tizen.dynamicanalyzer.project.Project;
import org.tizen.dynamicanalyzer.resources.ColorResources;
import org.tizen.dynamicanalyzer.resources.FontResources;
import org.tizen.dynamicanalyzer.resources.ImageResources;
-import org.tizen.dynamicanalyzer.sql.SqlManager;
import org.tizen.dynamicanalyzer.util.CommonUtil;
import org.tizen.dynamicanalyzer.util.Logger;
import org.tizen.dynamicanalyzer.util.WorkbenchUtil;
-import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
import org.tizen.dynamicanalyzer.widgets.button.DACustomButton;
import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonClickEventListener;
import org.tizen.dynamicanalyzer.widgets.da.base.DAButton;
cancelButton.setText(WidgetLabels.CANCEL);
cancelButton.addClickListener(cancelButtonListener);
- saveFileName = getSaveFileName();
+ saveFileName = getDefaultSaveFileName();
if (null == saveFileName) {
// create warning message box
Logger.debug("save file name is null");
return true;
}
+
+ public String getSaveFileName() {
+ return saveFileName;
+ }
private DACustomButtonClickEventListener okButtonListener = new DACustomButtonClickEventListener() {
saveFileName = old.substring(0, MAX_SAVE_FILE_NAME_LENGTH - 1);
}
- if (executeSaveTrace()) {
- result = AnalyzerConstants.SUCCESS;
- }
+ result = AnalyzerConstants.SUCCESS;
shell.dispose();
}
};
}
};
- private String getSaveFileName() {
+ private String getDefaultSaveFileName() {
Project project = AnalyzerManager.getProject();
String sourcePath = project.getSavePath();
String[] splitSourcePath = null;
return saveFileName;
}
- private boolean executeSaveTrace() {
- Project project = AnalyzerManager.getProject();
- String sourcePath = project.getSavePath();
- String targetPath = PathManager.DA_SAVE_PATH + File.separator
- + saveFileName;
-
- SqlManager.getInstance().closeConnection();
- SqlConnectionManager.closeConnection();
-
- File sourceFolder = new File(sourcePath);
- if (!sourceFolder.isDirectory()) {
- if (!sourceFolder.mkdirs()) {
- Logger.debug("source directory create failed...");
- return false;
- }
- }
-
- File targetFolder = new File(targetPath);
- if (!targetFolder.isDirectory()) {
- if (!targetFolder.mkdirs()) {
- Logger.debug("target directory create failed...");
- return false;
- }
- }
- AnalyzerUtil.copyDirectory(sourceFolder, targetFolder);
- project.setSavePath(targetPath);
-
- boolean success = AnalyzerUtil.deleteFile(new File(sourcePath));
- if (success) {
- // add snapshot model update
- Logger.debug("save complete!!"); //$NON-NLS-1$
- } else {
- Logger.debug("save fail..."); //$NON-NLS-1$
- }
-
- // establish db connection with new path
- SqlConnectionManager.establishConnection(project.getSavePath()
- + File.separator + AnalyzerConstants.DATABASE_NAME);
-
- return success;
- }
-
private boolean checkValidFileName(String str) {
if (str == null
|| str.contains("\\") //$NON-NLS-1$
import org.tizen.dynamicanalyzer.common.GlobalInformation;
import org.tizen.dynamicanalyzer.communicator.DACommunicator;
import org.tizen.dynamicanalyzer.constant.CommonConstants;
+import org.tizen.dynamicanalyzer.handlers.CommandActionHandler;
import org.tizen.dynamicanalyzer.handlers.ReplayTraceHandler;
import org.tizen.dynamicanalyzer.model.DeviceInfo;
import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
SaveAsDialog dialog = new SaveAsDialog(shell);
Object result = dialog.open();
if (null != result) {
+ if (!CommandActionHandler.save(dialog.getSaveFileName())) {
+ DADialog warninglog = new DADialog(shell, SWT.NONE);
+ warninglog.setIcon(ImageResources.DIALOG_WARNING_ICON);
+ warninglog.setMessage(AnalyzerLabels.SAVE_FAILED);
+ warninglog.open();
+ }
+
button.setButtonEnabled(false);
}
}