рефакторинг публикации компонентов

This commit is contained in:
2025-02-03 23:04:40 +03:00
parent 458e250b5c
commit 26434b21ab
11 changed files with 192 additions and 85 deletions

View File

@@ -3,17 +3,18 @@ import Common.Utils.Utils_;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Account.AccountRole;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Server.ComponentsRepositoryPass;
import _VisualDVM.Passes.Server.ClientPass;
import _VisualDVM.Repository.Component.Component;
import _VisualDVM.Repository.Component.ComponentType;
import _VisualDVM.Repository.Component.Json.ComponentPublicationInfoJson;
import _VisualDVM.Repository.Component.UI.PublishForm;
import _VisualDVM.Repository.EmailMessage;
import _VisualDVM.Repository.RepositoryServer;
import _VisualDVM.Repository.Server.ComponentsServer;
import _VisualDVM.Repository.Server.ServerCode;
import _VisualDVM.Repository.Server.ServerExchangeUnit_2021;
import java.util.Date;
public class PublishComponent extends ComponentsRepositoryPass<Component> {
public class PublishComponent extends ClientPass<ComponentsServer, Component> {
String version_mail_header = "";
String version_text = "";
PublishForm f = new PublishForm();
@@ -22,8 +23,8 @@ public class PublishComponent extends ComponentsRepositoryPass<Component> {
return "/Common/icons/Publish.png";
}
@Override
public String getButtonText() {
return "";
protected ComponentsServer getServer() {
return Global.componentsServer;
}
@Override
protected boolean canStart(Object... args) throws Exception {
@@ -41,7 +42,6 @@ public class PublishComponent extends ComponentsRepositoryPass<Component> {
;
if (Global.components.getUI().CheckCurrent(Log)) {
target = Global.components.getUI().getCurrent();
target.needs_update_minimal_version = false;
f.fields.cbUpdateMinimalVersion.setSelected(false);
f.fields.lMinimalVersion.setText(String.valueOf(target.minimal_version));
f.fields.lPublishingVersion.setText(String.valueOf(target.version));
@@ -56,42 +56,27 @@ public class PublishComponent extends ComponentsRepositoryPass<Component> {
f.fields.cbAssemblyOnServer.setSelected(false);
}
if (f.ShowDialog(getDescription())) {
target.needs_update_minimal_version = f.fields.cbUpdateMinimalVersion.isSelected();
return true;
String change_description = (f.Result == null) ? "не указаны" : f.Result;
String change_record_header = String.join(" ",
Utils_.Brackets(Utils_.print_date(new Date())) + ":",
Global.mainModule.getAccount().name + Utils_.RBrackets(Global.mainModule.getAccount().email),
"публикует версию", Utils_.DQuotes(target.version)
);
String change_record = String.join("\n", change_record_header, "Изменения:",
change_description,
RepositoryServer.separator, ""
);
//--
ComponentPublicationInfoJson info=new ComponentPublicationInfoJson(target);
info.changeRecord = change_record;
info.needsUpdateMinimalVersion = f.fields.cbUpdateMinimalVersion.isSelected();
//--
return SendRequest(ServerCode.UpdateComponent, "",info);
}
}
return false;
}
@Override
protected void ServerAction() throws Exception {
String change_description = (f.Result == null) ? "не указаны" : f.Result;
String change_record_header = String.join(" ",
Utils_.Brackets(Utils_.print_date(new Date())) + ":",
Global.mainModule.getAccount().name + Utils_.RBrackets(Global.mainModule.getAccount().email),
"публикует версию", Utils_.DQuotes(target.version)
);
String change_record = String.join("\n", change_record_header, "Изменения:",
change_description,
RepositoryServer.separator, ""
);
String packed =
target.getComponentType().toString() + "\n" +
target.getFileName() + "\n" +
target.getVersionText() + "\n" +
change_record;
Command(new ServerExchangeUnit_2021(ServerCode.PublishComponent,
packed, Utils_.fileToBytes(target.getFile())
));
if (target.needs_update_minimal_version) {
packed = target.getComponentType().toString() + "\n" +
target.getVersionText() + "\n";
//--
Command(new ServerExchangeUnit_2021(ServerCode.UpdateComponentMinimalVersion,
packed, Utils_.fileToBytes(target.getFile())
));
}
}
@Override
protected void performDone() throws Exception {
target.actual_version = target.version;
target.CheckIfNeedsUpdateOrPublish();