Исправление бага с регистрацией. v++

todo рефакторинг системы регистрации багов и прочего.
This commit is contained in:
2024-11-26 14:45:59 +03:00
parent 3add52b2b7
commit 18414e5c80
9 changed files with 71 additions and 40 deletions

View File

@@ -80,7 +80,7 @@ public class AppendBugReportField extends ComponentsRepositoryPass<BugReport> {
message_text = target.comment;
break;
}
Global.mainModule.getPass(PassCode.Email).Do(
Global.mainModule.getPass(PassCode.CheckedEmail).Do(
new EmailMessage(
message_header + " " + Utils_.Brackets(Global.mainModule.getAccount().name),
message_text,

View File

@@ -0,0 +1,53 @@
package _VisualDVM.Passes.All;
import _VisualDVM.Passes.Server.ComponentsRepositoryPass;
import _VisualDVM.Repository.EmailMessage;
import _VisualDVM.Repository.Server.ServerCode;
import _VisualDVM.Repository.Server.ServerExchangeUnit_2021;
import _VisualDVM.Repository.Subscribes.Subscriber;
import _VisualDVM.Utils;
import java.util.Vector;
//http://java-online.ru/javax-mail.xhtml
//https://javarush.ru/groups/posts/1226-kak-otpravitjh-pisjhmo-iz-java-prilozhenija-s-primerom
public class CheckedEmail extends ComponentsRepositoryPass<EmailMessage> {
//этот емейл только для клиента. все что он делает отправляет на сервер то. что нужно отправить.
@Override
protected boolean canStart(Object... args) throws Exception {
target = (EmailMessage) args[0];
return true;
}
@Override
protected int getTimeout() {
return 0;
}
@Override
protected void ServerAction() throws Exception {
Vector<String> targetsNames = new Vector<>();
for (String target : target.targets) {
if (server.db.subscribers.containsKey(target)) {
Subscriber subscriber = server.db.subscribers.get(target);
if (subscriber.mailOn != 0) {
String[] data = target.split("@");
if (data.length > 0) {
String tname = data[0];
targetsNames.add(tname);
}
}
}
}
Utils.addDefaultMails(target.targets);
String text_ =
"Адресаты: " + String.join(", ", targetsNames) + "\n" +
target.text;
//нужно разделить сообщение на несколько одинаковых, по числу адресатов.
for (String recipient : target.targets) {
System.out.println(recipient);
EmailMessage part = new EmailMessage();
part.subject = target.subject;
part.text = text_;
part.targets.add(recipient);
part.files.putAll(target.files);
Command(new ServerExchangeUnit_2021(ServerCode.Email, "", part));
}
}
}

View File

@@ -1,15 +1,8 @@
package _VisualDVM.Passes.All;
import Common.Utils.Utils_;
import _VisualDVM.Passes.Server.ComponentsRepositoryPass;
import _VisualDVM.Repository.EmailMessage;
import _VisualDVM.Repository.Server.ServerCode;
import _VisualDVM.Repository.Server.ServerExchangeUnit_2021;
import _VisualDVM.Repository.Subscribes.Subscriber;
import _VisualDVM.Utils;
import java.util.Vector;
//http://java-online.ru/javax-mail.xhtml
//https://javarush.ru/groups/posts/1226-kak-otpravitjh-pisjhmo-iz-java-prilozhenija-s-primerom
public class Email extends ComponentsRepositoryPass<EmailMessage> {
//этот емейл только для клиента. все что он делает отправляет на сервер то. что нужно отправить.
@Override
@@ -23,32 +16,6 @@ public class Email extends ComponentsRepositoryPass<EmailMessage> {
}
@Override
protected void ServerAction() throws Exception {
Vector<String> targetsNames = new Vector<>();
for (String target : target.targets) {
if (server.db.subscribers.containsKey(target)) {
Subscriber subscriber = server.db.subscribers.get(target);
if (subscriber.mailOn != 0) {
String[] data = target.split("@");
if (data.length > 0) {
String tname = data[0];
targetsNames.add(tname);
}
}
}
}
Utils.addDefaultMails(target.targets);
String text_ =
"Адресаты: " + String.join(", ", targetsNames) + "\n" +
target.text;
//нужно разделить сообщение на несколько одинаковых, по числу адресатов.
for (String recipient : target.targets) {
System.out.println(recipient);
EmailMessage part = new EmailMessage();
part.subject = target.subject;
part.text = text_;
part.targets.add(recipient);
part.files.putAll(target.files);
Command(new ServerExchangeUnit_2021(ServerCode.Email, "", part));
}
Command(new ServerExchangeUnit_2021(ServerCode.Email, "", target));
}
}

View File

@@ -64,7 +64,7 @@ public class PublishBugReport extends Pass<BugReport> {
message.addAttachement(screen);
}
}
Global.mainModule.getPass(PassCode.Email).Do(message);
Global.mainModule.getPass(PassCode.CheckedEmail).Do(message);
}
@Override
protected void showDone() throws Exception {

View File

@@ -108,7 +108,7 @@ public class PublishComponent extends ComponentsRepositoryPass<Component> {
new Vector<>(Global.componentsServer.db.subscribers.Data.keySet()));
if (f.fields.cbForceMail.isSelected())
message.addAttachement(target.getFile());
Global.mainModule.getPass(PassCode.Email).Do(message);
Global.mainModule.getPass(PassCode.CheckedEmail).Do(message);
//---
if (target.getComponentType().equals(ComponentType.Sapfor_F) && f.fields.cbAssemblyOnServer.isSelected()) {
Global.mainModule.getUI().getMainWindow().FocusTesting();

View File

@@ -121,7 +121,7 @@ public class UpdateBugReportField extends ComponentsRepositoryPass<BugReport> {
message_header += "состояние изменилось на " + Utils_.Brackets(target.state.getDescription());
break;
}
Global.mainModule.getPass(PassCode.Email).Do(
Global.mainModule.getPass(PassCode.CheckedEmail).Do(
new EmailMessage(message_header,
message_text,
target.getRecipients())

View File

@@ -124,6 +124,7 @@ public enum PassCode implements PassCode_ {
SendBugReport,
DeleteDownloadedBugReports,
ExtractRecipients,
CheckedEmail,
Email,
//-
GetComponentsActualVersions,
@@ -356,6 +357,8 @@ public enum PassCode implements PassCode_ {
@Override
public String getDescription() {
switch (this) {
case Email:
return "Отправка по email";
case SPF_RemoveDistArraysFromIO:
return "Устранение конфликтов ввода вывода";
case StartSelectedSAPFORConfigurations:
@@ -745,7 +748,7 @@ public enum PassCode implements PassCode_ {
return "Отправка отчёта об ошибке на сервер";
case ExtractRecipients:
return "Извлечение адресатов";
case Email:
case CheckedEmail:
return "Отправка по email";
case GetComponentsActualVersions:
return "Получение актуальных версий компонент";