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,6 +326,7 @@ void CTestCacic::testEnviaColeta()
326 { 326 {
327 bool ok; 327 bool ok;
328 QJsonObject coletaEnvio = oColeta.toJsonObject(); 328 QJsonObject coletaEnvio = oColeta.toJsonObject();
  329 + OCacic.setJsonToFile(oColeta.toJsonObject(), "coleta.json");
329 // qDebug() << coletaEnvio; 330 // qDebug() << coletaEnvio;
330 qDebug() << OCacicComm->comm("/ws/neo/coleta", &ok, coletaEnvio, true); 331 qDebug() << OCacicComm->comm("/ws/neo/coleta", &ok, coletaEnvio, true);
331 QVERIFY(ok); 332 QVERIFY(ok);
install-cacic/installcacic.cpp
@@ -39,14 +39,15 @@ void InstallCacic::run(QStringList argv, int argc) { @@ -39,14 +39,15 @@ void InstallCacic::run(QStringList argv, int argc) {
39 jsonComm["computador"] = oCacicComputer.toJsonObject(); 39 jsonComm["computador"] = oCacicComputer.toJsonObject();
40 QJsonObject configs = oCacicComm->comm("/ws/neo/config", &ok, jsonComm); 40 QJsonObject configs = oCacicComm->comm("/ws/neo/config", &ok, jsonComm);
41 if (ok){ 41 if (ok){
42 - oCacicComm->setUrlGerente(configs["reply"].toObject()["applicationUrl"].toString()); 42 + QJsonObject configsJson = configs["reply"].toObject();
  43 + oCacicComm->setUrlGerente(configsJson["applicationUrl"].toString());
43 #ifdef Q_OS_WIN 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 "c:/cacic/"); 47 "c:/cacic/");
47 #elif defined(Q_OS_LINUX) 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 "/usr/cacic"); 51 "/usr/cacic");
51 #endif 52 #endif
52 53
@@ -59,28 +60,43 @@ void InstallCacic::run(QStringList argv, int argc) { @@ -59,28 +60,43 @@ void InstallCacic::run(QStringList argv, int argc) {
59 //starta o processo do cacic. 60 //starta o processo do cacic.
60 61
61 //TO DO: Fazer download do serviço 62 //TO DO: Fazer download do serviço
  63 + QJsonObject metodoDownload;
  64 + metodoDownload = configsJson["agentcomputer"].toObject()["metodoDownload"].toObject();
62 #ifdef Q_OS_WIN 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 false, 72 false,
67 &ok, 73 &ok,
68 QStringList("-install"); 74 QStringList("-install");
69 #else 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 QStringList arguments; 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 false, 100 false,
85 &ok, 101 &ok,
86 arguments); 102 arguments);
@@ -91,6 +107,7 @@ void InstallCacic::run(QStringList argv, int argc) { @@ -91,6 +107,7 @@ void InstallCacic::run(QStringList argv, int argc) {
91 else { 107 else {
92 std::cout << "Instalação realizada com sucesso." << "\n"; 108 std::cout << "Instalação realizada com sucesso." << "\n";
93 } 109 }
  110 +
94 } else { 111 } else {
95 std::cout << "Falha ao pegar configurações: " << configs["error"].toString().toStdString() << "\n"; 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,9 +117,7 @@ void InstallCacic::run(QStringList argv, int argc) {
100 << " Código: " << jsonLogin["codestatus"].toString().toStdString() << "\n" 117 << " Código: " << jsonLogin["codestatus"].toString().toStdString() << "\n"
101 << " " << jsonLogin["error"].toString().toStdString() << "\n"; 118 << " " << jsonLogin["error"].toString().toStdString() << "\n";
102 } else if ((param.contains("default")) && (param["default"] == "uninstall")){ 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 } else { 121 } else {
107 std::cout << "\nInstalador do Agente Cacic.\n\n" 122 std::cout << "\nInstalador do Agente Cacic.\n\n"
108 << "Parametros incorretos. (<obrigatorios> [opcional])\n\n" 123 << "Parametros incorretos. (<obrigatorios> [opcional])\n\n"
@@ -135,6 +150,14 @@ QMap&lt;QString, QString&gt; InstallCacic::validaParametros(QStringList argv, int argc @@ -135,6 +150,14 @@ QMap&lt;QString, QString&gt; InstallCacic::validaParametros(QStringList argv, int argc
135 return map; 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 QMap<QString, QString> InstallCacic::getArgumentos() 161 QMap<QString, QString> InstallCacic::getArgumentos()
139 { 162 {
140 return argumentos; 163 return argumentos;
install-cacic/installcacic.h
@@ -24,6 +24,7 @@ public: @@ -24,6 +24,7 @@ public:
24 void registro(); 24 void registro();
25 25
26 private: 26 private:
  27 + void uninstall();
27 QMap<QString, QString> argumentos; 28 QMap<QString, QString> argumentos;
28 CacicComm *oCacicComm; 29 CacicComm *oCacicComm;
29 CACIC_Computer oCacicComputer; 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,7 +192,7 @@ bool CacicComm::fileDownload(const QString &amp;mode, const QString &amp;urlServer, cons
192 192
193 QStringList splitPath = path.split("/"); 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 if( !fileHandler->open(QIODevice::WriteOnly) ) { 196 if( !fileHandler->open(QIODevice::WriteOnly) ) {
197 qDebug() << "ftpDownload: fileHandler nâo pode abrir arquivo."; 197 qDebug() << "ftpDownload: fileHandler nâo pode abrir arquivo.";
198 return false; 198 return false;
src/cacic_comm.h
@@ -31,6 +31,9 @@ public: @@ -31,6 +31,9 @@ public:
31 bool ftpDownload(const QString &urlServer, const QString &path, const QString &pathDownload); 31 bool ftpDownload(const QString &urlServer, const QString &path, const QString &pathDownload);
32 bool httpDownload(const QString &path, const QString &pathDownload); 32 bool httpDownload(const QString &path, const QString &pathDownload);
33 bool httpDownload(const QString &urlServer, const QString &path,const QString &pathDownload); 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 QString getUrlSsl (); 37 QString getUrlSsl ();
35 void setUrlSsl(const QString &value); 38 void setUrlSsl(const QString &value);
36 QString getUrlGerente (); 39 QString getUrlGerente ();
@@ -53,9 +56,6 @@ private slots: @@ -53,9 +56,6 @@ private slots:
53 56
54 private: 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 QUrlQuery params; 59 QUrlQuery params;
60 QString urlGerente; 60 QString urlGerente;
61 QString urlSsl; 61 QString urlSsl;
src/ccoleta.cpp
@@ -65,8 +65,8 @@ QJsonObject CColeta::toJsonObject() @@ -65,8 +65,8 @@ QJsonObject CColeta::toJsonObject()
65 QJsonObject coletaJson; 65 QJsonObject coletaJson;
66 if (this->hardwareIsFinish && this->softwareIsFinish){ 66 if (this->hardwareIsFinish && this->softwareIsFinish){
67 coletaJson["computador"] = oComputer.toJsonObject(); 67 coletaJson["computador"] = oComputer.toJsonObject();
68 - coletaJson["software"] = oSoftware.toJsonObject();  
69 coletaJson["hardware"] = oHardware.toJsonObject(); 68 coletaJson["hardware"] = oHardware.toJsonObject();
  69 + coletaJson["software"] = oSoftware.toJsonObject();
70 } 70 }
71 return coletaJson; 71 return coletaJson;
72 } 72 }