Commit f32634f6cb033d933b33b23410c7fcbbf954edcc
1 parent
a04f5df4
Exists in
master
Modificação do instalador e testes.
Showing
6 changed files
with
51 additions
and
26 deletions
Show diff stats
cacic-teste/testcacic.cpp
... | ... | @@ -326,6 +326,7 @@ void CTestCacic::testEnviaColeta() |
326 | 326 | { |
327 | 327 | bool ok; |
328 | 328 | QJsonObject coletaEnvio = oColeta.toJsonObject(); |
329 | + OCacic.setJsonToFile(oColeta.toJsonObject(), "coleta.json"); | |
329 | 330 | // qDebug() << coletaEnvio; |
330 | 331 | qDebug() << OCacicComm->comm("/ws/neo/coleta", &ok, coletaEnvio, true); |
331 | 332 | QVERIFY(ok); | ... | ... |
install-cacic/installcacic.cpp
... | ... | @@ -39,14 +39,15 @@ void InstallCacic::run(QStringList argv, int argc) { |
39 | 39 | jsonComm["computador"] = oCacicComputer.toJsonObject(); |
40 | 40 | QJsonObject configs = oCacicComm->comm("/ws/neo/config", &ok, jsonComm); |
41 | 41 | if (ok){ |
42 | - oCacicComm->setUrlGerente(configs["reply"].toObject()["applicationUrl"].toString()); | |
42 | + QJsonObject configsJson = configs["reply"].toObject(); | |
43 | + oCacicComm->setUrlGerente(configsJson["applicationUrl"].toString()); | |
43 | 44 | #ifdef Q_OS_WIN |
44 | - oCacic.setCacicMainFolder(configs["reply"].toObject()["cacic_main_folder"].isString() ? | |
45 | - configs["reply"].toObject()["cacic_main_folder"].toString() : | |
45 | + oCacic.setCacicMainFolder(configsJson["cacic_main_folder"].isString() ? | |
46 | + configsJson["cacic_main_folder"].toString() : | |
46 | 47 | "c:/cacic/"); |
47 | 48 | #elif defined(Q_OS_LINUX) |
48 | - oCacic.setCacicMainFolder(configs["reply"].toObject()["cacic_main_folder"].isString() ? | |
49 | - configs["reply"].toObject()["cacic_main_folder"].toString() : | |
49 | + oCacic.setCacicMainFolder(configsJson["cacic_main_folder"].isString() ? | |
50 | + configsJson["cacic_main_folder"].toString() : | |
50 | 51 | "/usr/cacic"); |
51 | 52 | #endif |
52 | 53 | |
... | ... | @@ -59,28 +60,43 @@ void InstallCacic::run(QStringList argv, int argc) { |
59 | 60 | //starta o processo do cacic. |
60 | 61 | |
61 | 62 | //TO DO: Fazer download do serviço |
63 | + QJsonObject metodoDownload; | |
64 | + metodoDownload = configsJson["agentcomputer"].toObject()["metodoDownload"].toObject(); | |
62 | 65 | #ifdef Q_OS_WIN |
63 | - oCacicComm->ftpDownload("agentes/cacic-service.exe", oCacic.getCacicMainFolder()); | |
66 | + oCacicComm->fileDownload(metodoDownload["tipo"].toString(), | |
67 | + metodoDownload["url"].toString(), | |
68 | + metodoDownload["path"].toString() + "/cacic-service.exe", | |
69 | + oCacic.getCacicMainFolder()); | |
64 | 70 | |
65 | - QString exitStatus = oCacic.startProcess(oCacic.getCacicMainFolder() + "cacic-service.exe", | |
71 | + QString exitStatus = oCacic.startProcess(oCacic.getCacicMainFolder() + "/cacic-service.exe", | |
66 | 72 | false, |
67 | 73 | &ok, |
68 | 74 | QStringList("-install"); |
69 | 75 | #else |
70 | - oCacicComm->ftpDownload("agentes/cacic-service", oCacic.getCacicMainFolder()); | |
71 | 76 | |
72 | - QJsonObject configsJson = configs["reply"].toObject(); | |
73 | - QString senhaAgente; | |
74 | - if ( !configsJson["te_senha_adm_agente"].isNull() ) | |
75 | - senhaAgente = configsJson["te_senha_adm_agente"].toString(); | |
76 | - else | |
77 | - senhaAgente = QString("ADMINCACIC"); | |
77 | + oCacicComm->fileDownload(metodoDownload["tipo"].toString(), | |
78 | + metodoDownload["url"].toString(), | |
79 | + metodoDownload["path"].toString() + "/cacic-service", | |
80 | + oCacic.getCacicMainFolder()); | |
81 | + | |
82 | + oCacicComm->fileDownload(metodoDownload["tipo"].toString(), | |
83 | + metodoDownload["url"].toString(), | |
84 | + metodoDownload["path"].toString() + "/cacic-script.sh", | |
85 | + oCacic.getCacicMainFolder()); | |
86 | + | |
87 | + QFile fileScript(oCacic.getCacicMainFolder()+"/cacic-script.sh"); | |
88 | + QFile fileService(oCacic.getCacicMainFolder()+"/cacic-service"); | |
89 | + if ((!fileScript.exists() || !fileScript.size() > 0) && | |
90 | + (!fileService.exists() || !fileService.size() > 0)) { | |
91 | + this->uninstall(); | |
92 | + return; | |
93 | + } | |
94 | + fileScript.close(); | |
95 | + fileService.close(); | |
78 | 96 | |
79 | 97 | QStringList arguments; |
80 | - arguments.append(QString("-install")); | |
81 | - arguments.append(QString("cacic")); | |
82 | - arguments.append(senhaAgente); | |
83 | - QString exitStatus = oCacic.startProcess(oCacic.getCacicMainFolder() + "cacic-service", | |
98 | + arguments.append(QString("start")); | |
99 | + QString exitStatus = oCacic.startProcess("/etc/init.d/cacic", | |
84 | 100 | false, |
85 | 101 | &ok, |
86 | 102 | arguments); |
... | ... | @@ -91,6 +107,7 @@ void InstallCacic::run(QStringList argv, int argc) { |
91 | 107 | else { |
92 | 108 | std::cout << "Instalação realizada com sucesso." << "\n"; |
93 | 109 | } |
110 | + | |
94 | 111 | } else { |
95 | 112 | std::cout << "Falha ao pegar configurações: " << configs["error"].toString().toStdString() << "\n"; |
96 | 113 | } |
... | ... | @@ -100,9 +117,7 @@ void InstallCacic::run(QStringList argv, int argc) { |
100 | 117 | << " Código: " << jsonLogin["codestatus"].toString().toStdString() << "\n" |
101 | 118 | << " " << jsonLogin["error"].toString().toStdString() << "\n"; |
102 | 119 | } else if ((param.contains("default")) && (param["default"] == "uninstall")){ |
103 | - oCacic.deleteFolder("c:/cacic"); | |
104 | - oCacic.removeRegistry("Lightbase", "Cacic"); | |
105 | - std::cout << "Cacic desinstalado com sucesso.\n"; | |
120 | + this->uninstall(); | |
106 | 121 | } else { |
107 | 122 | std::cout << "\nInstalador do Agente Cacic.\n\n" |
108 | 123 | << "Parametros incorretos. (<obrigatorios> [opcional])\n\n" |
... | ... | @@ -135,6 +150,14 @@ QMap<QString, QString> InstallCacic::validaParametros(QStringList argv, int argc |
135 | 150 | return map; |
136 | 151 | } |
137 | 152 | |
153 | +void InstallCacic::uninstall() | |
154 | +{ | |
155 | + oCacic.deleteFolder("c:/cacic"); | |
156 | + oCacic.removeRegistry("Lightbase", "Cacic"); | |
157 | + std::cout << "\nCacic desinstalado com sucesso.\n"; | |
158 | + emit finished(); | |
159 | +} | |
160 | + | |
138 | 161 | QMap<QString, QString> InstallCacic::getArgumentos() |
139 | 162 | { |
140 | 163 | return argumentos; | ... | ... |
install-cacic/installcacic.h
src/cacic_comm.cpp
... | ... | @@ -192,7 +192,7 @@ bool CacicComm::fileDownload(const QString &mode, const QString &urlServer, cons |
192 | 192 | |
193 | 193 | QStringList splitPath = path.split("/"); |
194 | 194 | |
195 | - fileHandler = new QFile(pathDownload + splitPath[splitPath.size() - 1]); | |
195 | + fileHandler = new QFile(pathDownload + "/" + splitPath[splitPath.size() - 1]); | |
196 | 196 | if( !fileHandler->open(QIODevice::WriteOnly) ) { |
197 | 197 | qDebug() << "ftpDownload: fileHandler nâo pode abrir arquivo."; |
198 | 198 | return false; | ... | ... |
src/cacic_comm.h
... | ... | @@ -31,6 +31,9 @@ public: |
31 | 31 | bool ftpDownload(const QString &urlServer, const QString &path, const QString &pathDownload); |
32 | 32 | bool httpDownload(const QString &path, const QString &pathDownload); |
33 | 33 | bool httpDownload(const QString &urlServer, const QString &path,const QString &pathDownload); |
34 | + bool fileDownload(const QString &mode, const QString &path, const QString &pathDownload); | |
35 | + bool fileDownload(const QString &mode, const QString &urlServer, const QString &path, const QString &pathDownload); | |
36 | + | |
34 | 37 | QString getUrlSsl (); |
35 | 38 | void setUrlSsl(const QString &value); |
36 | 39 | QString getUrlGerente (); |
... | ... | @@ -53,9 +56,6 @@ private slots: |
53 | 56 | |
54 | 57 | private: |
55 | 58 | |
56 | - bool fileDownload(const QString &mode, const QString &path, const QString &pathDownload); | |
57 | - bool fileDownload(const QString &mode, const QString &urlServer, const QString &path, const QString &pathDownload); | |
58 | - | |
59 | 59 | QUrlQuery params; |
60 | 60 | QString urlGerente; |
61 | 61 | QString urlSsl; | ... | ... |
src/ccoleta.cpp
... | ... | @@ -65,8 +65,8 @@ QJsonObject CColeta::toJsonObject() |
65 | 65 | QJsonObject coletaJson; |
66 | 66 | if (this->hardwareIsFinish && this->softwareIsFinish){ |
67 | 67 | coletaJson["computador"] = oComputer.toJsonObject(); |
68 | - coletaJson["software"] = oSoftware.toJsonObject(); | |
69 | 68 | coletaJson["hardware"] = oHardware.toJsonObject(); |
69 | + coletaJson["software"] = oSoftware.toJsonObject(); | |
70 | 70 | } |
71 | 71 | return coletaJson; |
72 | 72 | } | ... | ... |