Implemented helpers:
bool isRepositoryCorrupted(); bool repairCorruptedRepository(); int sendCloneAndCheckoutSuccess(); int sendCloneAndCheckoutFailure(); int sendIsmasTriggerFailure();
This commit is contained in:
parent
d1f795e2db
commit
4469a23f9c
77
worker.cpp
77
worker.cpp
@ -148,6 +148,83 @@ void Worker::update() {
|
|||||||
std::call_once(once, &Worker::privateUpdate, this);
|
std::call_once(once, &Worker::privateUpdate, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Worker::isRepositoryCorrupted() {
|
||||||
|
QDir customerRepository(m_customerRepository);
|
||||||
|
if (customerRepository.exists()) {
|
||||||
|
QDir customerRepositoryEtc(QDir::cleanPath(m_customerRepository + QDir::separator() + "etc/"));
|
||||||
|
QDir customerRepositoryOpt(QDir::cleanPath(m_customerRepository + QDir::separator() + "opt/"));
|
||||||
|
QDir customerRepositoryGit(QDir::cleanPath(m_customerRepository + QDir::separator() + ".git/"));
|
||||||
|
// etc-directory inside git-repository does not exist, which means the
|
||||||
|
// git-repository is corrupted -> remove it and start from scratch
|
||||||
|
if (!customerRepositoryEtc.exists()
|
||||||
|
|| !customerRepositoryGit.exists()
|
||||||
|
|| !customerRepositoryOpt.exists()) {
|
||||||
|
// should never happen
|
||||||
|
Utils::printCriticalErrorMsg("CORRUPTED CUSTOMER REPOSITORY");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Worker::repairCorruptedRepository() {
|
||||||
|
QDir customerRepository(m_customerRepository);
|
||||||
|
if (!customerRepository.removeRecursively()) {
|
||||||
|
Utils::printCriticalErrorMsg("ERROR REMOVING CORR. CUST-REPOSITORY");
|
||||||
|
m_updateStatus = UpdateStatus(UPDATE_STATUS::REMOVE_GIT_REPOSITORY_FAILED,
|
||||||
|
QString("REMOVAL OF GIT-REPOSITORY %1 FAILED").arg(m_customerRepository));
|
||||||
|
IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT,
|
||||||
|
QString("#M=APISM#C=CMD_EVENT#J=") +
|
||||||
|
m_ismasClient.sanityCheckFailed(IsmasClient::RESULT_CODE::INSTALL_ERROR,
|
||||||
|
m_updateStatus.m_statusDescription));
|
||||||
|
emit showErrorMessage("apism sanity check", m_updateStatus.m_statusDescription);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int Worker::sendCloneAndCheckoutFailure() {
|
||||||
|
stopProgressLoop();
|
||||||
|
setProgress(0);
|
||||||
|
m_updateStatus = UpdateStatus(UPDATE_STATUS::GIT_CLONE_AND_CHECKOUT_FAILURE,
|
||||||
|
QString("CLONE OR CHECKOUT FAILED: ") + m_customerRepository);
|
||||||
|
IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT,
|
||||||
|
QString("#M=APISM#C=CMD_EVENT#J=") +
|
||||||
|
m_ismasClient.errorGitClone(100, m_updateStatus.m_statusDescription));
|
||||||
|
|
||||||
|
return CLONE_AND_CHECKOUT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
int Worker::sendCloneAndCheckoutSuccess() {
|
||||||
|
m_updateStatus = UpdateStatus(UPDATE_STATUS::GIT_CLONE_AND_CHECKOUT_SUCCESS,
|
||||||
|
QString("CLONED REPOSITORY %1 AND CHECKED OUT BRANCH %2")
|
||||||
|
.arg(m_customerRepository)
|
||||||
|
.arg(m_gc.branchName()));
|
||||||
|
|
||||||
|
IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT,
|
||||||
|
QString("#M=APISM#C=CMD_EVENT#J=") +
|
||||||
|
m_ismasClient.cloneAndCheckoutCustomerRepository(
|
||||||
|
m_updateStatus.m_statusDescription));
|
||||||
|
|
||||||
|
return CLONE_AND_CHECKOUT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
int Worker::sendIsmasTriggerFailure() {
|
||||||
|
stopProgressLoop();
|
||||||
|
setProgress(0);
|
||||||
|
m_updateStatus = UpdateStatus(UPDATE_STATUS::ISMAS_UPDATE_TRIGGER_SET_FAILURE,
|
||||||
|
QString("ISMAS update trigger wrong"));
|
||||||
|
IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT,
|
||||||
|
QString("#M=APISM#C=CMD_EVENT#J=") +
|
||||||
|
m_ismasClient.updateOfPSAFailed(IsmasClient::RESULT_CODE::INSTALL_ERROR,
|
||||||
|
"CHECK-UPDATE-TRIGGER",
|
||||||
|
m_updateStatus.m_statusDescription));
|
||||||
|
return ISMAS_TRIGGER_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Worker::privateUpdate() {
|
void Worker::privateUpdate() {
|
||||||
if (!m_mainWindow) {
|
if (!m_mainWindow) {
|
||||||
Utils::printCriticalErrorMsg("m_mainWindow NOT SET");
|
Utils::printCriticalErrorMsg("m_mainWindow NOT SET");
|
||||||
|
Loading…
Reference in New Issue
Block a user