рефакторинг публикации компонентов
This commit is contained in:
@@ -17,6 +17,7 @@ import _VisualDVM.Repository.BugReport.BugReport;
|
||||
import _VisualDVM.Repository.BugReport.Json.BugReportAdditionJson;
|
||||
import _VisualDVM.Repository.BugReportsDatabase;
|
||||
import _VisualDVM.Repository.Component.ComponentType;
|
||||
import _VisualDVM.Repository.Component.Json.ComponentPublicationInfoJson;
|
||||
import _VisualDVM.Repository.Component.Json.ComponentVersionsInfoJson;
|
||||
import _VisualDVM.Repository.EmailMessage;
|
||||
import _VisualDVM.Repository.RepositoryServer;
|
||||
@@ -238,7 +239,10 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
|
||||
response.object = new Vector<>();
|
||||
}
|
||||
break;
|
||||
case PublishComponent:
|
||||
case UpdateComponent:
|
||||
UpdateComponent();
|
||||
break;
|
||||
case PublishComponent: //todo устарело.
|
||||
String[] packed = request.arg.split("\n");
|
||||
String sComponentType = packed[0];
|
||||
String componentFileName = packed[1];
|
||||
@@ -280,7 +284,7 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
|
||||
//-
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
break;
|
||||
case UpdateComponentMinimalVersion:
|
||||
case UpdateComponentMinimalVersion: //todo устарело
|
||||
String[] packed_ = request.arg.split("\n");
|
||||
String sComponentType_ = packed_[0];
|
||||
String sComponentMinimalVersion = packed_[1];
|
||||
@@ -452,4 +456,51 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
|
||||
protected void startAdditionalThreads() {
|
||||
backUp.start();
|
||||
}
|
||||
//-
|
||||
private void UpdateComponent() throws Exception {
|
||||
ComponentPublicationInfoJson info = (ComponentPublicationInfoJson) request.object;
|
||||
Print("Опубликовать компонент " + info.componentType);
|
||||
File componentHome = Utils_.getFile(Utils_.getHomePath(),"Components", info.componentType.toString());
|
||||
File componentFile =new File(componentHome, info.fileName);
|
||||
File versionFile = new File(componentHome, "version.txt");
|
||||
File backupsFolder = new File(componentHome, "Backups");
|
||||
//0 архивация старой версии, если она есть.
|
||||
if (componentFile.exists()) {
|
||||
String versionText = "";
|
||||
if (versionFile.exists())
|
||||
versionText = Utils.ReadAllText(versionFile);
|
||||
//---->>
|
||||
Utils_.CheckDirectory(backupsFolder);
|
||||
Utils.keepNewFiles(backupsFolder, Global.componentsServerProperties.ComponentsBackUpsCount);
|
||||
//-->>
|
||||
File backupFile = new File(backupsFolder, info.componentType + "_" + versionText);
|
||||
if (backupFile.exists())
|
||||
Utils_.forceDeleteWithCheck(backupFile);
|
||||
FileUtils.moveFile(componentFile, backupFile);
|
||||
}
|
||||
//1 распаковка компонента
|
||||
Utils_.bytesToFile((byte[]) info.packedFile, componentFile);
|
||||
//2 запись версии компонента
|
||||
FileUtils.writeStringToFile(versionFile, info.versionText);
|
||||
//3 запись в журнал компонента
|
||||
File changesLog = new File(componentHome, "changes.txt");
|
||||
FileWriter writer = new FileWriter(changesLog.getAbsolutePath(), true);
|
||||
BufferedWriter bufferWriter = new BufferedWriter(writer);
|
||||
bufferWriter.write(info.changeRecord);
|
||||
bufferWriter.close();
|
||||
//-
|
||||
if (info.needsUpdateMinimalVersion){
|
||||
Print("Поднять минимальную версию компонента " + info.componentType);
|
||||
File minimal_versionFile = new File(componentHome, "minimal_version.txt");
|
||||
FileUtils.writeStringToFile(minimal_versionFile, info.versionText);
|
||||
//-
|
||||
//3 запись в журнал компонента
|
||||
FileWriter writer_ = new FileWriter(changesLog, true);
|
||||
BufferedWriter bufferWriter_ = new BufferedWriter(writer_);
|
||||
bufferWriter_.write("Минимальная версия поднята до " + info.versionText + "\n");
|
||||
bufferWriter_.close();
|
||||
}
|
||||
//-
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user