Исправление бага с регистрацией. 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

8
.idea/workspace.xml generated
View File

@@ -7,7 +7,15 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/CheckedEmail.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/AppendBugReportField.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/AppendBugReportField.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/Email.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/Email.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/PublishBugReport.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/PublishBugReport.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/PublishComponent.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/PublishComponent.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/UpdateBugReportField.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/UpdateBugReportField.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/PassCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/PassCode.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -80,7 +80,7 @@ public class AppendBugReportField extends ComponentsRepositoryPass<BugReport> {
message_text = target.comment; message_text = target.comment;
break; break;
} }
Global.mainModule.getPass(PassCode.Email).Do( Global.mainModule.getPass(PassCode.CheckedEmail).Do(
new EmailMessage( new EmailMessage(
message_header + " " + Utils_.Brackets(Global.mainModule.getAccount().name), message_header + " " + Utils_.Brackets(Global.mainModule.getAccount().name),
message_text, 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; package _VisualDVM.Passes.All;
import Common.Utils.Utils_;
import _VisualDVM.Passes.Server.ComponentsRepositoryPass; import _VisualDVM.Passes.Server.ComponentsRepositoryPass;
import _VisualDVM.Repository.EmailMessage; import _VisualDVM.Repository.EmailMessage;
import _VisualDVM.Repository.Server.ServerCode; import _VisualDVM.Repository.Server.ServerCode;
import _VisualDVM.Repository.Server.ServerExchangeUnit_2021; 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> { public class Email extends ComponentsRepositoryPass<EmailMessage> {
//этот емейл только для клиента. все что он делает отправляет на сервер то. что нужно отправить. //этот емейл только для клиента. все что он делает отправляет на сервер то. что нужно отправить.
@Override @Override
@@ -23,32 +16,6 @@ public class Email extends ComponentsRepositoryPass<EmailMessage> {
} }
@Override @Override
protected void ServerAction() throws Exception { protected void ServerAction() throws Exception {
Vector<String> targetsNames = new Vector<>(); Command(new ServerExchangeUnit_2021(ServerCode.Email, "", target));
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

@@ -64,7 +64,7 @@ public class PublishBugReport extends Pass<BugReport> {
message.addAttachement(screen); message.addAttachement(screen);
} }
} }
Global.mainModule.getPass(PassCode.Email).Do(message); Global.mainModule.getPass(PassCode.CheckedEmail).Do(message);
} }
@Override @Override
protected void showDone() throws Exception { 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())); new Vector<>(Global.componentsServer.db.subscribers.Data.keySet()));
if (f.fields.cbForceMail.isSelected()) if (f.fields.cbForceMail.isSelected())
message.addAttachement(target.getFile()); 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()) { if (target.getComponentType().equals(ComponentType.Sapfor_F) && f.fields.cbAssemblyOnServer.isSelected()) {
Global.mainModule.getUI().getMainWindow().FocusTesting(); Global.mainModule.getUI().getMainWindow().FocusTesting();

View File

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

View File

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

View File

@@ -61,7 +61,7 @@ public class Visualiser extends Component {
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html //http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
@Override @Override
public void GetVersionInfo() { public void GetVersionInfo() {
version = 1121; version = 1122;
String pattern = "MMM dd yyyy HH:mm:ss"; String pattern = "MMM dd yyyy HH:mm:ss";
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH); DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
date_text = df.format(getClassBuildTime()); date_text = df.format(getClassBuildTime());