#include <sys/stat.h>
#include <string>
#include <sstream>
-#include <dpl/wrt-dao-rw/widget_dao.h>
#include <dpl/wrt-dao-ro/global_config.h>
#include <dpl/foreach.h>
#include <dpl/log/log.h>
#include <dpl/assert.h>
#include <dpl/utils/wrt_utility.h>
+#include <dpl/wrt-dao-rw/widget_dao.h>
#include <widget_install/job_widget_install.h>
#include <widget_install/widget_install_errors.h>
#include <widget_install/widget_install_context.h>
DPL::TaskDecl<TaskRemoveBackupFiles>(this),
m_context(context)
{
- AddStep(&TaskRemoveBackupFiles::StepDeleteDB);
- AddStep(&TaskRemoveBackupFiles::StepRemoveBackupFiles);
-}
-
-void TaskRemoveBackupFiles::StepDeleteDB()
-{
- LogInfo("Delete old widget DB");
- Try
+ AddStep(&TaskRemoveBackupFiles::StartStep);
+ if (m_context.mode.extension != InstallMode::ExtensionType::DIR)
{
- // If there is existing model, remove its database data
- if (true == m_context.existingWidgetInfo.isExist) {
- WidgetHandle old = m_context.existingWidgetInfo.existingHandle;
- LogInfo("Unregistering widget...: " << old);
- WidgetDAO::unregisterWidget(old);
- LogInfo("Widget unregistered");
- }
+ AddStep(&TaskRemoveBackupFiles::StepRemoveBackupFiles);
}
- Catch(DPL::DB::SqlConnection::Exception::Base)
- {
- LogError("Failed to clean up old widget DB!");
- ReThrowMsg(Exceptions::RemoveBackupFailed, "Database failure!");
- }
-
- m_context.job->UpdateProgress(
- InstallerContext::INSTALL_DELETE_OLD_DB,
- "Backup widget db delete Finished");
+ AddStep(&TaskRemoveBackupFiles::StepDeleteBackupDB);
+ AddStep(&TaskRemoveBackupFiles::EndStep);
}
void TaskRemoveBackupFiles::StepRemoveBackupFiles()
if (WrtUtilRemove(backupDir.str())) {
LogDebug("Success to remove backup files : " << backupDir.str());
} else {
- LogDebug("Failed to remove backup directory : " << backupDir.str());
+ LogError("Failed to remove backup directory : " << backupDir.str());
ThrowMsg(Exceptions::RemoveBackupFailed,
"Error occurs during removing existing folder");
}
if (WrtUtilRemove(tmp)) {
LogDebug("Success to remove temp directory : " << tmp);
} else {
- LogDebug("Failed to remove temp directory : " << tmp);
- ThrowMsg(Exceptions::RemoveBackupFailed,
- "Error occurs during removing existing folder");
+ LogError("Failed to remove temp directory : " << tmp);
+ }
+}
+
+void TaskRemoveBackupFiles::StepDeleteBackupDB()
+{
+ LogDebug("StepDeleteBackupDB");
+ std::string oldAppid =
+ DPL::ToUTF8String(m_context.widgetConfig.tzAppid) + ".backup";
+
+ Try
+ {
+ WidgetDAO::unregisterWidget(DPL::FromUTF8String(oldAppid));
}
+ Catch(WidgetDAOReadOnly::Exception::WidgetNotExist)
+ {
+ LogError("Fail to delete old version db information");
+ }
+}
- m_context.job->UpdateProgress(
- InstallerContext::INSTALL_REMOVE_BACKUP_FILE,
- "Backup widget file delete Finished");
+void TaskRemoveBackupFiles::StartStep()
+{
+ LogDebug("--------- <TaskRemoveBackupFiles> : START ----------");
}
+void TaskRemoveBackupFiles::EndStep()
+{
+ LogDebug("--------- <TaskRemoveBackupFiles> : END ----------");
+}
} //namespace WidgetInstall
} //namespace Jobs