Commit f32634f6cb033d933b33b23410c7fcbbf954edcc

Authored by Eric Menezes Noronha
1 parent a04f5df4
Exists in master

Modificação do instalador e testes.

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&lt;QString, QString&gt; 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
... ... @@ -24,6 +24,7 @@ public:
24 24 void registro();
25 25  
26 26 private:
  27 + void uninstall();
27 28 QMap<QString, QString> argumentos;
28 29 CacicComm *oCacicComm;
29 30 CACIC_Computer oCacicComputer;
... ...
src/cacic_comm.cpp
... ... @@ -192,7 +192,7 @@ bool CacicComm::fileDownload(const QString &amp;mode, const QString &amp;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 }
... ...