Merge branch 'bugfix-version-info' into merge-task-and-verController

This commit is contained in:
semenov
2025-01-22 17:33:12 +03:00
17 changed files with 144 additions and 58 deletions

View File

@@ -59,6 +59,10 @@ void ProcessParser::read(ClientHandler *client, QByteArray array)
clientNotify(xmlReader,client);
}
else if(xmlReader.name() == "DataInfo")
{
clientDataInfo(xmlReader,client);
}
else
{
emit sigLogMessage("XmlParser: unrecognized tag");
@@ -69,6 +73,25 @@ void ProcessParser::read(ClientHandler *client, QByteArray array)
}//while(!xmlReader.atEnd())
}
void ProcessParser::clientDataInfo(QXmlStreamReader &xmlReader,ClientHandler *client)
{
DataInfo *dataInfo = new DataInfo;
foreach(const QXmlStreamAttribute &attr, xmlReader.attributes())
{
QString name = attr.name().toString();
QString value = attr.value().toString();
if(name == "path")
dataInfo->path= value.toUtf8();
if(name == "size")
dataInfo->size = value.toLong();
}
processingSystem->setCurrentDataInfo(dataInfo);
}
void ProcessParser::clientAuth(QXmlStreamReader &xmlReader,ClientHandler *client)
{
ClientAutorization clientAutorization;

View File

@@ -2,9 +2,9 @@
#define PROCESSPARSER_H
#include <QObject>
#include <Data/typesDataServerClient.h>
#include <qxmlstream.h>
#include <clienthandler.h>
#include "Data/typesDataServerClient.h"
class ProcessParser : public QObject
{
@@ -26,6 +26,7 @@ private:
void queryTasksXML(QXmlStreamReader &xmlReader,ClientHandler *client);
void clientMessage(QXmlStreamReader &xmlReader,ClientHandler *client);
void clientNotify(QXmlStreamReader &xmlReader,ClientHandler *client);
void clientDataInfo(QXmlStreamReader &xmlReader, ClientHandler *client);
};
#endif // PROCESSPARSER_H

View File

@@ -170,22 +170,13 @@ void AssetsManager::addVersion(StreamingVersionData *data)
void AssetsManager::createCopyVersion(QString versionName,QString newVersionName,QString author)
{
qDebug() << "assetManager thread ID " << QThread::currentThreadId();
QListIterator<StreamingVersionData*> iterator(*datas);
StreamingVersionData* data = new StreamingVersionData;
while (iterator.hasNext())
{
StreamingVersionData *version = iterator.next();
if (version->getViewName() == versionName)
{
data->setAbsolutePath(version->getAbsolutPath());
}
}
data->setAbsolutePath(Tools::createSharedPath("/" + newVersionName));
data->setAuthor(author);
data->setIsChangeable(true);
data->setViewName(newVersionName);
data->setCreateData(QDateTime::currentDateTime());
datas->append(data);
qDebug() << "Version for copy " << versionName;
@@ -282,7 +273,7 @@ void AssetsManager::copyAllRecurse(QString source,QString destination)
void AssetsManager::writeVersionsToFile(QList<StreamingVersionData*> version,bool isFirst)
{
QList<SXmlAnswerTag> listTag;
datas->clear();
QFile file(versionListFile);
foreach(StreamingVersionData* ver,version)
@@ -295,7 +286,9 @@ void AssetsManager::writeVersionsToFile(QList<StreamingVersionData*> version,boo
if(isFirst)
{
attribute3 = {"isChangeable",QString::number(false)};
attribute4 = {"author",tr("Константа-дизайн")};
QString author = tr("Константа-дизайн");
attribute4 = {"author",author};
ver->setAuthor(author);
}else
{
attribute3 ={"isChangeable",QString::number(ver->getIsChangeable())};
@@ -337,10 +330,10 @@ void AssetsManager::writeVersionsToFile(QList<StreamingVersionData*> version,boo
void AssetsManager::createFirstVersionListXML(QList<StreamingVersionData*> version) //TODO: переименовать и перебросить в AssetManager
{
QFile file(versionListFile);
QList<StreamingVersionData*> *temp = new QList<StreamingVersionData*>();
if(!file.exists())
{
writeVersionsToFile(version,true);
writeVersionsToFile(version,true);
}
else
{
@@ -353,16 +346,20 @@ void AssetsManager::createFirstVersionListXML(QList<StreamingVersionData*> versi
{
if(ver->getViewName() == data->getViewName())
{
data->setAbsolutePath(ver->getAbsolutPath());
StreamingVersionData *tempData = new StreamingVersionData;
tempData->fill(data);
tempData->setAbsolutePath(ver->getAbsolutPath());
temp->append(tempData);
break;
}
}
}
writeVersionsToFile(*datas,false);
writeVersionsToFile(*temp,false);
}
}
void AssetsManager::saveVersionToFile(StreamingVersionData *streamingVersion) //TODO: переименовать и перебросить в AssetManager

View File

@@ -24,6 +24,7 @@ void ProcessingSystem::initialize(ServerLMSWidget *server,
connect(this,&ProcessingSystem::sigAuthChanged,commonClientHandler, &CommonClientHandler::slot_AuthChanged,Qt::AutoConnection);
connect(this,&ProcessingSystem::sigUpdateListClients,server, &ServerLMSWidget::slotUpdateListClients,Qt::AutoConnection);
connect(this,&ProcessingSystem::sigSetData,updateController,&UpdateController::setDataInfo,Qt::AutoConnection);
connect(this,&ProcessingSystem::signal_msgToClientReady,commonClientHandler, &CommonClientHandler::slot_msgToClientFromGUI);
connect(this,&ProcessingSystem::signal_msgFromClientReady,commonClientHandler, &CommonClientHandler::slot_msgToGUIfromClient);
connect(this,&ProcessingSystem::sigLogMessage,logger,&Logger::addTextToLogger,Qt::QueuedConnection);
@@ -335,5 +336,10 @@ void ProcessingSystem::processingClientNotify(ClientHandler *client, ClientNotif
}
}
void ProcessingSystem::setCurrentDataInfo(DataInfo *dataInfo)
{
emit sigSetData(dataInfo);
}

View File

@@ -38,6 +38,7 @@ public:
void processingFromClientMessage(ClientHandler *client, ClientMessage clientMessage);
void processingClientNotify(ClientHandler *client, ClientNotify clientNotify);
void setCurrentDataInfo(DataInfo *dataInfo);
signals:
void sigUpdateListClients();
void sigAuthChanged();
@@ -45,6 +46,7 @@ signals:
void sigAddToMessanger(QString login,QString text);
void signal_msgToClientReady(QString login, QString text);
void signal_msgFromClientReady(QString login, QString text);
void sigSetData(DataInfo *dataInfo);
private:
CommonClientHandler *commonClientServer;

View File

@@ -66,6 +66,11 @@ QString Tools::createStreamingToRealPath(QString path,StreamingVersionData* stre
}
QString Tools::createVersionHashFilepath(QString fileName)
{
return staticDataFolderName + "/" + fileName + "Hash.xml";
}
QString Tools::createUpdateFilePath(QString path)
{
//qDebug() << "Full path: " << path;

View File

@@ -56,6 +56,7 @@ public:
static QString createSharedPath(QString path);
static QString createRealPath(QString path,StreamingVersionData* currentVersionData);
static QString createStreamingToRealPath(QString path, StreamingVersionData *streamingVersionData);
static QString createVersionHashFilepath(QString fileName);
};

View File

@@ -193,6 +193,11 @@ void UpdateController::setUpCurrentServerHash()
saveHash(hashFileName,fileList);
}
void UpdateController::setDataInfo(DataInfo *value)
{
dataInfo = value;
}
QString UpdateController::getCurrentStreamingPath() const
{
return currentStreamingPath;
@@ -428,7 +433,7 @@ void UpdateController::calculateSharedHash()
if (fileInfo.fileName() == "." || fileInfo.fileName() == "..")
continue;
QString fileName = staticDataFolderName + "/" + fileInfo.fileName() + "Hash.xml";
QString fileName = Tools::createVersionHashFilepath(fileInfo.fileName());
fileList = calculateHash(fileInfo.absoluteFilePath());
saveHash(fileName,fileList);

View File

@@ -56,6 +56,8 @@ public:
QString getPathAdditionalFile(QString name);
StreamingVersionData *getCurrentVersion();
void setDataInfo(DataInfo *value);
public slots:
void changeAssetVersion(QString versionName);
void createCopyVersion(QString versionName,QString newVersionName,QString author);