From 95a493034fdda9d4ff31f2e22693b1ef1463795f Mon Sep 17 00:00:00 2001 From: ekallin Date: Mon, 18 Dec 2023 17:46:26 +0400 Subject: [PATCH 01/12] create lab 7 --- .../LocoNotFoundException.java | 19 +++++++++++++++++++ .../LocomotivesGenericStorage.java | 3 +++ 2 files changed, 22 insertions(+) create mode 100644 ProjectElectricLocomotive/LocoNotFoundException.java diff --git a/ProjectElectricLocomotive/LocoNotFoundException.java b/ProjectElectricLocomotive/LocoNotFoundException.java new file mode 100644 index 0000000..6467466 --- /dev/null +++ b/ProjectElectricLocomotive/LocoNotFoundException.java @@ -0,0 +1,19 @@ +package ProjectElectricLocomotive; + +public class LocoNotFoundException extends RuntimeException { + public LocoNotFoundException(int i) { + super("Не найден объект по позиции" + i); + } + + public LocoNotFoundException(Throwable ex) { + super(ex); + } + + public LocoNotFoundException(String message) { + super(message); + } + + public LocoNotFoundException(String message, Exception ex) { //Throwable люди пишут, посмотри внимательно + super(message, ex); + } +} diff --git a/ProjectElectricLocomotive/LocomotivesGenericStorage.java b/ProjectElectricLocomotive/LocomotivesGenericStorage.java index 58cf697..70707e3 100644 --- a/ProjectElectricLocomotive/LocomotivesGenericStorage.java +++ b/ProjectElectricLocomotive/LocomotivesGenericStorage.java @@ -10,6 +10,9 @@ import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +/*import org.slf4j.Logger; +import org.slf4j.LoggerFactory;*/ + public class LocomotivesGenericStorage { private static final String _separatorForKeyValue = "@"; -- 2.25.1 From 7b1c3f263098f57f026d0caa3d11bb9aaf24947a Mon Sep 17 00:00:00 2001 From: ekallin Date: Mon, 18 Dec 2023 17:48:19 +0400 Subject: [PATCH 02/12] 7 lab create --- ProjectElectricLocomotive/LocoNotFoundException.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ProjectElectricLocomotive/LocoNotFoundException.java b/ProjectElectricLocomotive/LocoNotFoundException.java index 6467466..086009b 100644 --- a/ProjectElectricLocomotive/LocoNotFoundException.java +++ b/ProjectElectricLocomotive/LocoNotFoundException.java @@ -1,5 +1,5 @@ package ProjectElectricLocomotive; - +//create lab 7 public class LocoNotFoundException extends RuntimeException { public LocoNotFoundException(int i) { super("Не найден объект по позиции" + i); -- 2.25.1 From 46ce8e7f01e8d0ca880a37384c05a618a2cf9a14 Mon Sep 17 00:00:00 2001 From: ekallin Date: Mon, 18 Dec 2023 18:15:38 +0400 Subject: [PATCH 03/12] 7 lab add class exception notFound --- .../LocoStorageOverflowException.java | 17 +++++++++++++++++ ProjectElectricLocomotive/SetGeneric.java | 6 +++++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 ProjectElectricLocomotive/LocoStorageOverflowException.java diff --git a/ProjectElectricLocomotive/LocoStorageOverflowException.java b/ProjectElectricLocomotive/LocoStorageOverflowException.java new file mode 100644 index 0000000..31c486d --- /dev/null +++ b/ProjectElectricLocomotive/LocoStorageOverflowException.java @@ -0,0 +1,17 @@ +package ProjectElectricLocomotive; + +public class LocoStorageOverflowException extends RuntimeException{ + public LocoStorageOverflowException(Throwable ex){ + super(ex); + } + public LocoStorageOverflowException(int count){ + super("В наборе превышено допустимое количество локомотивов:" + count); + } + public LocoStorageOverflowException(String message){ + super(message); + } + public LocoStorageOverflowException(String message, Throwable ex){ + super(message, ex); + } + +} diff --git a/ProjectElectricLocomotive/SetGeneric.java b/ProjectElectricLocomotive/SetGeneric.java index 062252a..4be439c 100644 --- a/ProjectElectricLocomotive/SetGeneric.java +++ b/ProjectElectricLocomotive/SetGeneric.java @@ -25,8 +25,10 @@ public class SetGeneric{ public int Insert(T loco, int position) { - if(position < 0 || position > maxCount) + if(position < 0) return -1; + if(position >= maxCount) + throw new LocoStorageOverflowException(maxCount); else { _places.add(position, loco); @@ -41,6 +43,8 @@ public class SetGeneric{ else { T plane = _places.get(position); + if(plane == null) + throw new LocoNotFoundException(position); _places.set(position, null); return plane; } -- 2.25.1 From 01e16c9d643be2786ec45d3ebeb4192a72f4831f Mon Sep 17 00:00:00 2001 From: ekallin Date: Mon, 18 Dec 2023 20:30:21 +0400 Subject: [PATCH 04/12] some my exceptions, but removeLoco don't work --- .idea/java.iml | 1 + .../FormLocomotiveCollections.java | 124 ++++++++++-------- .../LocoNotFoundException.java | 2 +- .../LocomotivesGenericStorage.java | 32 ++--- ProjectElectricLocomotive/SetGeneric.java | 2 +- 5 files changed, 89 insertions(+), 72 deletions(-) diff --git a/.idea/java.iml b/.idea/java.iml index b107a2d..d2d1b77 100644 --- a/.idea/java.iml +++ b/.idea/java.iml @@ -7,5 +7,6 @@ + \ No newline at end of file diff --git a/ProjectElectricLocomotive/FormLocomotiveCollections.java b/ProjectElectricLocomotive/FormLocomotiveCollections.java index d04c2ca..7cec777 100644 --- a/ProjectElectricLocomotive/FormLocomotiveCollections.java +++ b/ProjectElectricLocomotive/FormLocomotiveCollections.java @@ -5,8 +5,12 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.filechooser.FileNameExtensionFilter; import java.awt.*; import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; import java.util.Stack; +import org.apache.logging.log4j.Logger; + //готовая лаба 3 public class FormLocomotiveCollections { @@ -30,6 +34,7 @@ public class FormLocomotiveCollections { FrameElectricLocomotive _frameRemovedLocomotives; private Stack _stackRemoveObjects; FrameDopClassParameters frameDopClassParameters; + public JPanel getPictureBoxCollections() { return MainPanel; } @@ -37,7 +42,7 @@ public class FormLocomotiveCollections { public FormLocomotiveCollections() { formElectricLocomotive = new FormElectricLocomotive(); formLocomotiveConfig = new FormLocomotiveConfig(); - _storage = new LocomotivesGenericStorage(400,300); + _storage = new LocomotivesGenericStorage(400, 300); _stackRemoveObjects = new Stack<>(); listBoxStorage.addListSelectionListener(this::listBoxObjectsSelectedIndexChanged); @@ -75,22 +80,27 @@ public class FormLocomotiveCollections { } FrameLocomotiveConfig frameLocomotiveConfig = new FrameLocomotiveConfig(); frameLocomotiveConfig.setVisible(true); - frameLocomotiveConfig._formLocomotiveConfig.buttonOk.addActionListener(e2 ->{ + frameLocomotiveConfig._formLocomotiveConfig.buttonOk.addActionListener(e2 -> { frameLocomotiveConfig.dispose(); loco = frameLocomotiveConfig._formLocomotiveConfig._loco; - if(loco != null){ - if (obj.AddOverload(loco)!= -1) { - JOptionPane.showMessageDialog(getPictureBoxCollections(), "Объект добавлен"); - Refresh(); - } else { - JOptionPane.showMessageDialog(getPictureBoxCollections(), "Не удалось добавить объект"); + try { + + if (loco != null) { + if (obj.AddOverload(loco) != -1) { + JOptionPane.showMessageDialog(getPictureBoxCollections(), "Объект добавлен"); + Refresh(); + } else { + JOptionPane.showMessageDialog(getPictureBoxCollections(), "Не удалось добавить объект"); + } } + frameLocomotiveConfig._formLocomotiveConfig.buttonClose.addActionListener(e3 -> { + frameLocomotiveConfig.dispose(); + }); + } catch (LocoStorageOverflowException ex) { + JOptionPane.showMessageDialog(null, ex.getMessage()); } }); - frameLocomotiveConfig._formLocomotiveConfig.buttonClose.addActionListener(e3 -> { - frameLocomotiveConfig.dispose(); - }); }); ButtonCreateRandomLoco.addActionListener(e -> { @@ -107,43 +117,39 @@ public class FormLocomotiveCollections { if (obj == null) { return; } - int pos; + int pos = Integer.parseInt(textFieldNumber.getText()); try { - pos = Integer.parseInt(textFieldNumber.getText()); - } catch (NumberFormatException ex) { - JOptionPane.showMessageDialog(this.getPictureBoxCollections(), - "Неверное значение", - "Ошибка", - JOptionPane.ERROR_MESSAGE); - return; - } - Object[] options = {"Да", "Нет"}; - int n = JOptionPane.showOptionDialog(this.getPictureBoxCollections(), - "Удалить объект?", - "Все серьезно", - JOptionPane.YES_NO_OPTION, - JOptionPane.QUESTION_MESSAGE, - null, - options, - options[0] - ); - if (n == 1) { - return; - } - DrawingLocomotive removedPlane = obj.SubOverload(pos); - if (removedPlane != null) { - _stackRemoveObjects.push(removedPlane); - Refresh(); + /*Object[] options = {"Да", "Нет"}; + int n = JOptionPane.showOptionDialog(this.getPictureBoxCollections(), + "Удалить объект?", + "Все серьезно", + JOptionPane.YES_NO_OPTION, + JOptionPane.QUESTION_MESSAGE, + null, + options, + options[0] + ); + if (n == 1) { + return; + }*/ + DrawingLocomotive removedPlane = obj.SubOverload(pos); + if (removedPlane != null) { + _stackRemoveObjects.push(removedPlane); + Refresh(); - JOptionPane.showMessageDialog(this.getPictureBoxCollections(), - "Объект удален", - "Успех", - JOptionPane.INFORMATION_MESSAGE); - } else { - JOptionPane.showMessageDialog(this.getPictureBoxCollections(), - "Не удалось удалить объект", - "Ошибка", - JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(this.getPictureBoxCollections(), + "Объект удален", + "Успех", + JOptionPane.INFORMATION_MESSAGE); + } else { + JOptionPane.showMessageDialog(this.getPictureBoxCollections(), + "Не удалось удалить объект", + "Ошибка", + JOptionPane.ERROR_MESSAGE); + } + } + catch(LocoNotFoundException ex){ + JOptionPane.showMessageDialog(null, ex.getMessage()); } }); @@ -152,7 +158,7 @@ public class FormLocomotiveCollections { }); Button_OpenFormRemovedLocomotives.addActionListener(e -> { - if(_stackRemoveObjects.empty()) { + if (_stackRemoveObjects.empty()) { JOptionPane.showMessageDialog(this.getPictureBoxCollections(), "Вы ничего не удалили, кажется...", "ой", @@ -178,10 +184,14 @@ public class FormLocomotiveCollections { fileChooser.setDialogTitle("Выберите файл для загрузки данных"); if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { File selectedFile = fileChooser.getSelectedFile(); - if (_storage.LoadData(selectedFile.getAbsolutePath())) { - JOptionPane.showMessageDialog(null, "Загрузка прошла успешно", "Результат", JOptionPane.INFORMATION_MESSAGE); - } else { - JOptionPane.showMessageDialog(null, "Не загрузилось", "Результат", JOptionPane.ERROR_MESSAGE); + try { + if (_storage.LoadData(selectedFile.getAbsolutePath())) { + JOptionPane.showMessageDialog(null, "Загрузка прошла успешно", "Результат", JOptionPane.INFORMATION_MESSAGE); + } else { + JOptionPane.showMessageDialog(null, "Не загрузилось", "Результат", JOptionPane.ERROR_MESSAGE); + } + } catch (FileNotFoundException ex) { + /*throw new RuntimeException(ex);*/ } } ReloadObjects(); @@ -210,10 +220,14 @@ public class FormLocomotiveCollections { fileChooser.setDialogTitle("Выберите файл для загрузки данных"); if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { File selectedFile = fileChooser.getSelectedFile(); - if (_storage.LoadDataSingle(selectedFile.getAbsolutePath())) { - JOptionPane.showMessageDialog(null, "Загрузка прошла успешно", "Результат", JOptionPane.INFORMATION_MESSAGE); - } else { - JOptionPane.showMessageDialog(null, "Не загрузилось", "Результат", JOptionPane.ERROR_MESSAGE); + try { + if (_storage.LoadDataSingle(selectedFile.getAbsolutePath())) { + JOptionPane.showMessageDialog(null, "Загрузка прошла успешно", "Результат", JOptionPane.INFORMATION_MESSAGE); + } else { + JOptionPane.showMessageDialog(null, "Не загрузилось", "Результат", JOptionPane.ERROR_MESSAGE); + } + } catch (IOException ex) { + /*throw new RuntimeException(ex);*/ } } ReloadObjects(); diff --git a/ProjectElectricLocomotive/LocoNotFoundException.java b/ProjectElectricLocomotive/LocoNotFoundException.java index 086009b..e629034 100644 --- a/ProjectElectricLocomotive/LocoNotFoundException.java +++ b/ProjectElectricLocomotive/LocoNotFoundException.java @@ -13,7 +13,7 @@ public class LocoNotFoundException extends RuntimeException { super(message); } - public LocoNotFoundException(String message, Exception ex) { //Throwable люди пишут, посмотри внимательно + public LocoNotFoundException(String message, Throwable ex) { //Throwable люди пишут, посмотри внимательно super(message, ex); } } diff --git a/ProjectElectricLocomotive/LocomotivesGenericStorage.java b/ProjectElectricLocomotive/LocomotivesGenericStorage.java index 70707e3..ff3b806 100644 --- a/ProjectElectricLocomotive/LocomotivesGenericStorage.java +++ b/ProjectElectricLocomotive/LocomotivesGenericStorage.java @@ -1,5 +1,7 @@ package ProjectElectricLocomotive; +import com.sun.nio.sctp.InvalidStreamException; + import java.io.*; import java.util.*; @@ -63,7 +65,7 @@ public class LocomotivesGenericStorage { return null; } - public boolean SaveDataSingle(String filename, String key) { + public boolean SaveDataSingle(String filename, String key){ var file = new File(filename); if (file.exists()) { file.delete(); @@ -73,29 +75,29 @@ public class LocomotivesGenericStorage { for (DrawingLocomotive elem : _locomotiveStorage.get(key).GetLocomotives()) data.append(elem != null ? ExtentionDrawingLoco.GetDataForSave(elem, _separatorForObjectSingle) + "\n" : ""); if (data.isEmpty()) { - return false; + throw new InvalidStreamException("Нет данных для сохранения"); } try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) { writer.write(_keywordSingle + System.lineSeparator() + data); - } catch (IOException e) { + } catch (Exception ex) { return false; } return true; } - public boolean LoadDataSingle(String filename){ + public boolean LoadDataSingle(String filename) throws IOException { if (!new File(filename).exists()) { - return false; + throw new FileNotFoundException("Файл не найден"); } try (BufferedReader reader = new BufferedReader(new FileReader(filename))) { String s = reader.readLine(); if (s == null || s.isEmpty()) - return false; + throw new NullPointerException("Нет данных для загрузки"); if (!s.startsWith(_keywordSingle)) - return false; + throw new IllegalArgumentException("Неверный формат данных"); String key = reader.readLine(); if (key == null || key.isEmpty()) - return false; + throw new NullPointerException("Нет данных для загрузки"); LocomotiveGenericCollection collection; if (_locomotiveStorage.containsKey(key)){ collection = _locomotiveStorage.get(key); @@ -118,7 +120,7 @@ public class LocomotivesGenericStorage { _pictureHeight ); if (plane == null || collection.AddOverload(plane) == -1) - return false; + throw new NoSuchElementException("Не найден объект"); } _locomotiveStorage.put(key, collection); } catch (IOException e) { @@ -141,7 +143,7 @@ public class LocomotivesGenericStorage { data.append(record.getKey()).append(_separatorForKeyValue).append(records).append("\n"); } if (data.isEmpty()) { - return false; + throw new InvalidStreamException("Нет данных для сохранения"); } try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) { writer.write(_keyword + System.lineSeparator() + data); @@ -151,18 +153,18 @@ public class LocomotivesGenericStorage { return true; } - public boolean LoadData(String filename) { + public boolean LoadData(String filename) throws FileNotFoundException { var file = new File(filename); if (!file.exists()) { - return false; + throw new FileNotFoundException("Файл не найден"); } try (BufferedReader reader = new BufferedReader(new FileReader(filename))) { String s = reader.readLine(); if (s == null || s.isEmpty()) - return false; + throw new NullPointerException("Нет данных для загрузки"); if (!s.startsWith(_keyword)) { - return false; + throw new IllegalArgumentException("Неверный формат данных"); } _locomotiveStorage.clear(); s = reader.readLine(); @@ -183,7 +185,7 @@ public class LocomotivesGenericStorage { _pictureWidth, _pictureHeight ); if (plane == null || collection.AddOverload(plane) == -1) - return false; + throw new NoSuchElementException("Не найден объект"); } _locomotiveStorage.put(record[0], collection); } diff --git a/ProjectElectricLocomotive/SetGeneric.java b/ProjectElectricLocomotive/SetGeneric.java index 4be439c..b822639 100644 --- a/ProjectElectricLocomotive/SetGeneric.java +++ b/ProjectElectricLocomotive/SetGeneric.java @@ -27,7 +27,7 @@ public class SetGeneric{ { if(position < 0) return -1; - if(position >= maxCount) + if(_places.size() >= maxCount) throw new LocoStorageOverflowException(maxCount); else { -- 2.25.1 From 20677a82e640c88032427cc614cb78af063c2e1d Mon Sep 17 00:00:00 2001 From: ekallin Date: Tue, 19 Dec 2023 00:19:35 +0400 Subject: [PATCH 05/12] logger... don't work --- .idea/java.iml | 10 ++++- .../FormLocomotiveCollections.java | 39 ++++++++++++------- .../FrameLocomotiveCollection.java | 5 ++- .../LocoNotFoundException.java | 5 ++- .../LocoStorageOverflowException.java | 4 +- ProjectElectricLocomotive/Main.java | 8 +++- 6 files changed, 50 insertions(+), 21 deletions(-) diff --git a/.idea/java.iml b/.idea/java.iml index d2d1b77..40dfc33 100644 --- a/.idea/java.iml +++ b/.idea/java.iml @@ -7,6 +7,14 @@ - + + + + + + + + + \ No newline at end of file diff --git a/ProjectElectricLocomotive/FormLocomotiveCollections.java b/ProjectElectricLocomotive/FormLocomotiveCollections.java index 7cec777..de56d2f 100644 --- a/ProjectElectricLocomotive/FormLocomotiveCollections.java +++ b/ProjectElectricLocomotive/FormLocomotiveCollections.java @@ -8,12 +8,11 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Stack; - -import org.apache.logging.log4j.Logger; - -//готовая лаба 3 +import org.apache.logging.log4j.*; public class FormLocomotiveCollections { + private final Logger _logger; + FormElectricLocomotive formElectricLocomotive; FormLocomotiveConfig formLocomotiveConfig; private JPanel MainPanel; @@ -39,7 +38,10 @@ public class FormLocomotiveCollections { return MainPanel; } - public FormLocomotiveCollections() { + public FormLocomotiveCollections(Logger logger) { + + _logger = logger; + formElectricLocomotive = new FormElectricLocomotive(); formLocomotiveConfig = new FormLocomotiveConfig(); _storage = new LocomotivesGenericStorage(400, 300); @@ -58,6 +60,7 @@ public class FormLocomotiveCollections { } _storage.AddSet(NameStorage); ReloadObjects(); + _logger.info("Добавлен набор: " + NameStorage); Refresh(); }); @@ -147,8 +150,7 @@ public class FormLocomotiveCollections { "Ошибка", JOptionPane.ERROR_MESSAGE); } - } - catch(LocoNotFoundException ex){ + } catch (LocoNotFoundException ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } }); @@ -191,7 +193,8 @@ public class FormLocomotiveCollections { JOptionPane.showMessageDialog(null, "Не загрузилось", "Результат", JOptionPane.ERROR_MESSAGE); } } catch (FileNotFoundException ex) { - /*throw new RuntimeException(ex);*/ +// logger.error("\n" + "Ошибка при загрузке всех объектов из файла: " + ex.getMessage()); + JOptionPane.showMessageDialog(null, "Ошибка при загрузке всех объектов " + ex.getMessage(), "Результат", JOptionPane.ERROR_MESSAGE); } } ReloadObjects(); @@ -205,10 +208,13 @@ public class FormLocomotiveCollections { fileChooser.setFileFilter(new FileNameExtensionFilter("Текстовые файлы (*.txt)", "txt")); if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) { File selectedFile = fileChooser.getSelectedFile(); - if (_storage.SaveData(selectedFile.getAbsolutePath())) + try { + _storage.SaveData(selectedFile.getAbsolutePath()); JOptionPane.showMessageDialog(null, "Сохранение прошло успешно", "Результат", JOptionPane.INFORMATION_MESSAGE); - else - JOptionPane.showMessageDialog(null, "Не сохранилось", "Результат", JOptionPane.ERROR_MESSAGE); + } catch (Exception ex) { + JOptionPane.showMessageDialog(null, "Ошибка при сохранении всех объектов " + ex.getMessage(), "Результат", JOptionPane.ERROR_MESSAGE); + } + } } ); @@ -227,7 +233,7 @@ public class FormLocomotiveCollections { JOptionPane.showMessageDialog(null, "Не загрузилось", "Результат", JOptionPane.ERROR_MESSAGE); } } catch (IOException ex) { - /*throw new RuntimeException(ex);*/ + JOptionPane.showMessageDialog(null, "Ошибка при загрузке коллекции " + ex.getMessage(), "Результат", JOptionPane.ERROR_MESSAGE); } } ReloadObjects(); @@ -245,10 +251,13 @@ public class FormLocomotiveCollections { fileChooser.setDialogTitle("Выберите файл для сохранения данных"); if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) { File selectedFile = fileChooser.getSelectedFile(); - if (_storage.SaveDataSingle(selectedFile.getAbsolutePath(), (String) listBoxStorage.getSelectedValue())) + try { + _storage.SaveDataSingle(selectedFile.getAbsolutePath(), (String) listBoxStorage.getSelectedValue()); JOptionPane.showMessageDialog(null, "Сохранение прошло успешно", "Результат", JOptionPane.INFORMATION_MESSAGE); - else - JOptionPane.showMessageDialog(null, "Не сохранилось", "Результат", JOptionPane.ERROR_MESSAGE); + } catch (Exception ex) { + JOptionPane.showMessageDialog(null, "Ошибка при сохранении коллекции " + ex.getMessage(), "Результат", JOptionPane.ERROR_MESSAGE); + } + } } ); diff --git a/ProjectElectricLocomotive/FrameLocomotiveCollection.java b/ProjectElectricLocomotive/FrameLocomotiveCollection.java index 5fb166f..a63ec3a 100644 --- a/ProjectElectricLocomotive/FrameLocomotiveCollection.java +++ b/ProjectElectricLocomotive/FrameLocomotiveCollection.java @@ -1,13 +1,14 @@ package ProjectElectricLocomotive; import javax.swing.*; +import org.apache.logging.log4j.*; public class FrameLocomotiveCollection extends JFrame { public FormLocomotiveCollections _formLocomotiveCollections; - public FrameLocomotiveCollection(){ + public FrameLocomotiveCollection(Logger logger){ super(); setTitle("Коллекция");setDefaultCloseOperation(EXIT_ON_CLOSE); - _formLocomotiveCollections = new FormLocomotiveCollections(); + _formLocomotiveCollections = new FormLocomotiveCollections(logger); setContentPane(_formLocomotiveCollections.getPictureBoxCollections()); this.setJMenuBar(_formLocomotiveCollections.getMenuBar()); setDefaultLookAndFeelDecorated(false); diff --git a/ProjectElectricLocomotive/LocoNotFoundException.java b/ProjectElectricLocomotive/LocoNotFoundException.java index e629034..9e115c8 100644 --- a/ProjectElectricLocomotive/LocoNotFoundException.java +++ b/ProjectElectricLocomotive/LocoNotFoundException.java @@ -1,6 +1,9 @@ package ProjectElectricLocomotive; + +import java.io.Serializable; + //create lab 7 -public class LocoNotFoundException extends RuntimeException { +public class LocoNotFoundException extends RuntimeException implements Serializable { public LocoNotFoundException(int i) { super("Не найден объект по позиции" + i); } diff --git a/ProjectElectricLocomotive/LocoStorageOverflowException.java b/ProjectElectricLocomotive/LocoStorageOverflowException.java index 31c486d..4767739 100644 --- a/ProjectElectricLocomotive/LocoStorageOverflowException.java +++ b/ProjectElectricLocomotive/LocoStorageOverflowException.java @@ -1,6 +1,8 @@ package ProjectElectricLocomotive; -public class LocoStorageOverflowException extends RuntimeException{ +import java.io.Serializable; + +public class LocoStorageOverflowException extends RuntimeException implements Serializable { public LocoStorageOverflowException(Throwable ex){ super(ex); } diff --git a/ProjectElectricLocomotive/Main.java b/ProjectElectricLocomotive/Main.java index 7f88444..062171d 100644 --- a/ProjectElectricLocomotive/Main.java +++ b/ProjectElectricLocomotive/Main.java @@ -1,8 +1,14 @@ package ProjectElectricLocomotive; +import org.apache.logging.log4j.*; + public class Main { public static void main(String[] args) { - FrameLocomotiveCollection mainFrame = new FrameLocomotiveCollection(); + System.setProperty("log4j.configutationFile", "C:\\code\\java\\ProjectElectricLocomotive\\loggerFile.xml"); + +// new FrameLocomotiveCollection(LogManager.getLogger("logger")); + FrameLocomotiveCollection frameLocomotiveCollection = new FrameLocomotiveCollection(LogManager.getLogger("logger")); +// new FormLocomotiveCollections(LogManager.getLogger(FormLocomotiveCollections.class)); } } -- 2.25.1 From f6bb8e553b9ac236e84c425746d19830f93cd6ad Mon Sep 17 00:00:00 2001 From: ekallin Date: Tue, 19 Dec 2023 02:22:26 +0400 Subject: [PATCH 06/12] loggers... still don't work --- .idea/java.iml | 13 +++++++++++-- .../FormLocomotiveCollections.java | 4 ++-- ProjectElectricLocomotive/Main.java | 12 +++++++++--- ProjectElectricLocomotive/log4j.properties | 17 +++++++++++++++++ 4 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 ProjectElectricLocomotive/log4j.properties diff --git a/.idea/java.iml b/.idea/java.iml index 40dfc33..e6e0748 100644 --- a/.idea/java.iml +++ b/.idea/java.iml @@ -7,10 +7,19 @@ - + - + + + + + + + + + + diff --git a/ProjectElectricLocomotive/FormLocomotiveCollections.java b/ProjectElectricLocomotive/FormLocomotiveCollections.java index de56d2f..a56bdf9 100644 --- a/ProjectElectricLocomotive/FormLocomotiveCollections.java +++ b/ProjectElectricLocomotive/FormLocomotiveCollections.java @@ -12,7 +12,6 @@ import org.apache.logging.log4j.*; public class FormLocomotiveCollections { private final Logger _logger; - FormElectricLocomotive formElectricLocomotive; FormLocomotiveConfig formLocomotiveConfig; private JPanel MainPanel; @@ -60,8 +59,8 @@ public class FormLocomotiveCollections { } _storage.AddSet(NameStorage); ReloadObjects(); - _logger.info("Добавлен набор: " + NameStorage); Refresh(); + _logger.info("Добавлен набор: " + NameStorage); }); ButtonRemoveObject.addActionListener(e -> @@ -72,6 +71,7 @@ public class FormLocomotiveCollections { JOptionPane.showMessageDialog(this.getPictureBoxCollections(), "Коллекция удалена", "Удаление", JOptionPane.INFORMATION_MESSAGE); _storage.DelSet((String) listBoxStorage.getSelectedValue()); //ТУТ СТРИНГ ОБРАТИ ВНИМАНИЕ КАК-НИБУДЬ ReloadObjects(); + _logger.info("Удален набор: " ); }); ButtonAddLocomotive.addActionListener(e -> { diff --git a/ProjectElectricLocomotive/Main.java b/ProjectElectricLocomotive/Main.java index 062171d..60ace1d 100644 --- a/ProjectElectricLocomotive/Main.java +++ b/ProjectElectricLocomotive/Main.java @@ -3,12 +3,18 @@ package ProjectElectricLocomotive; import org.apache.logging.log4j.*; public class Main { + private static Logger logger = LogManager.getLogger(Main.class); + public static void main(String[] args) { - System.setProperty("log4j.configutationFile", "C:\\code\\java\\ProjectElectricLocomotive\\loggerFile.xml"); + System.setProperty("log4j.configurationFile", "C:\\code\\java\\ProjectElectricLocomotive\\loggerFile.xml"); -// new FrameLocomotiveCollection(LogManager.getLogger("logger")); - FrameLocomotiveCollection frameLocomotiveCollection = new FrameLocomotiveCollection(LogManager.getLogger("logger")); + new FrameLocomotiveCollection(LogManager.getLogger("logger")); + //FrameLocomotiveCollection frameLocomotiveCollection = new FrameLocomotiveCollection(LogManager.getLogger("logger")); // new FormLocomotiveCollections(LogManager.getLogger(FormLocomotiveCollections.class)); + + + logger.info("hello"); + } } diff --git a/ProjectElectricLocomotive/log4j.properties b/ProjectElectricLocomotive/log4j.properties new file mode 100644 index 0000000..d59a8ee --- /dev/null +++ b/ProjectElectricLocomotive/log4j.properties @@ -0,0 +1,17 @@ + +# Root logger option +log4j.rootLogger=DEBUG, stdout, file + +# Redirect log messages to console +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n + +# Redirect log messages to a log file, support file rolling. +log4j.appender.file=org.apache.log4j.RollingFileAppender +log4j.appender.file.File=C:\logs.log +log4j.appender.file.MaxFileSize=5MB +log4j.appender.file.MaxBackupIndex=10 +log4j.appender.file.layout=org.apache.log4j.PatternLayout +log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n -- 2.25.1 From e0e8147d37f1f38fab7bc362373ab3cb64b69b11 Mon Sep 17 00:00:00 2001 From: ekallin Date: Tue, 19 Dec 2023 02:24:23 +0400 Subject: [PATCH 07/12] logger.xml --- ProjectElectricLocomotive/loggerFile.xml | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 ProjectElectricLocomotive/loggerFile.xml diff --git a/ProjectElectricLocomotive/loggerFile.xml b/ProjectElectricLocomotive/loggerFile.xml new file mode 100644 index 0000000..05dc958 --- /dev/null +++ b/ProjectElectricLocomotive/loggerFile.xml @@ -0,0 +1,32 @@ + + + + + + + + %m (дата-%d{d.M.y}) %ex%n + + + + + + %m (дата-%d{d.M.y}) %ex%n + + + + + + + + + + + + + + + + + + \ No newline at end of file -- 2.25.1 From 6e51b8de547cd2d99db931a4f6d9d8dfcc8d3ea5 Mon Sep 17 00:00:00 2001 From: ekallin Date: Tue, 19 Dec 2023 03:41:22 +0400 Subject: [PATCH 08/12] yeeeea loggers works --- .../FormLocomotiveCollections.java | 5 +++-- .../FrameLocomotiveCollection.java | 2 +- ProjectElectricLocomotive/Main.java | 11 +---------- ProjectElectricLocomotive/log4j.properties | 17 ----------------- 4 files changed, 5 insertions(+), 30 deletions(-) delete mode 100644 ProjectElectricLocomotive/log4j.properties diff --git a/ProjectElectricLocomotive/FormLocomotiveCollections.java b/ProjectElectricLocomotive/FormLocomotiveCollections.java index a56bdf9..5dcf6af 100644 --- a/ProjectElectricLocomotive/FormLocomotiveCollections.java +++ b/ProjectElectricLocomotive/FormLocomotiveCollections.java @@ -39,7 +39,7 @@ public class FormLocomotiveCollections { public FormLocomotiveCollections(Logger logger) { - _logger = logger; + _logger = LogManager.getLogger("logger"); formElectricLocomotive = new FormElectricLocomotive(); formLocomotiveConfig = new FormLocomotiveConfig(); @@ -71,7 +71,7 @@ public class FormLocomotiveCollections { JOptionPane.showMessageDialog(this.getPictureBoxCollections(), "Коллекция удалена", "Удаление", JOptionPane.INFORMATION_MESSAGE); _storage.DelSet((String) listBoxStorage.getSelectedValue()); //ТУТ СТРИНГ ОБРАТИ ВНИМАНИЕ КАК-НИБУДЬ ReloadObjects(); - _logger.info("Удален набор: " ); + _logger.info("Удален набор: " + listBoxStorage.getSelectedValue()); }); ButtonAddLocomotive.addActionListener(e -> { @@ -101,6 +101,7 @@ public class FormLocomotiveCollections { }); } catch (LocoStorageOverflowException ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); + _logger.warn("Превышено допустимое количество объектов в коллекции"); } }); diff --git a/ProjectElectricLocomotive/FrameLocomotiveCollection.java b/ProjectElectricLocomotive/FrameLocomotiveCollection.java index a63ec3a..b30a4de 100644 --- a/ProjectElectricLocomotive/FrameLocomotiveCollection.java +++ b/ProjectElectricLocomotive/FrameLocomotiveCollection.java @@ -1,7 +1,7 @@ package ProjectElectricLocomotive; import javax.swing.*; -import org.apache.logging.log4j.*; +import org.apache.logging.log4j.Logger; public class FrameLocomotiveCollection extends JFrame { public FormLocomotiveCollections _formLocomotiveCollections; diff --git a/ProjectElectricLocomotive/Main.java b/ProjectElectricLocomotive/Main.java index 60ace1d..06f3211 100644 --- a/ProjectElectricLocomotive/Main.java +++ b/ProjectElectricLocomotive/Main.java @@ -3,18 +3,9 @@ package ProjectElectricLocomotive; import org.apache.logging.log4j.*; public class Main { - private static Logger logger = LogManager.getLogger(Main.class); - public static void main(String[] args) { System.setProperty("log4j.configurationFile", "C:\\code\\java\\ProjectElectricLocomotive\\loggerFile.xml"); - - new FrameLocomotiveCollection(LogManager.getLogger("logger")); - //FrameLocomotiveCollection frameLocomotiveCollection = new FrameLocomotiveCollection(LogManager.getLogger("logger")); -// new FormLocomotiveCollections(LogManager.getLogger(FormLocomotiveCollections.class)); - - - logger.info("hello"); - + new FrameLocomotiveCollection(LogManager.getLogger()); } } diff --git a/ProjectElectricLocomotive/log4j.properties b/ProjectElectricLocomotive/log4j.properties deleted file mode 100644 index d59a8ee..0000000 --- a/ProjectElectricLocomotive/log4j.properties +++ /dev/null @@ -1,17 +0,0 @@ - -# Root logger option -log4j.rootLogger=DEBUG, stdout, file - -# Redirect log messages to console -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.Target=System.out -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n - -# Redirect log messages to a log file, support file rolling. -log4j.appender.file=org.apache.log4j.RollingFileAppender -log4j.appender.file.File=C:\logs.log -log4j.appender.file.MaxFileSize=5MB -log4j.appender.file.MaxBackupIndex=10 -log4j.appender.file.layout=org.apache.log4j.PatternLayout -log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n -- 2.25.1 From f3e9d58dc1451b47255944a3f8bdadf47a119c3f Mon Sep 17 00:00:00 2001 From: ekallin Date: Tue, 19 Dec 2023 11:33:23 +0400 Subject: [PATCH 09/12] fixed bug with unused parameter --- ProjectElectricLocomotive/FormLocomotiveCollections.java | 2 +- ProjectElectricLocomotive/FrameLocomotiveCollection.java | 4 ++-- ProjectElectricLocomotive/Main.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ProjectElectricLocomotive/FormLocomotiveCollections.java b/ProjectElectricLocomotive/FormLocomotiveCollections.java index 5dcf6af..d8f054c 100644 --- a/ProjectElectricLocomotive/FormLocomotiveCollections.java +++ b/ProjectElectricLocomotive/FormLocomotiveCollections.java @@ -37,7 +37,7 @@ public class FormLocomotiveCollections { return MainPanel; } - public FormLocomotiveCollections(Logger logger) { + public FormLocomotiveCollections() { _logger = LogManager.getLogger("logger"); diff --git a/ProjectElectricLocomotive/FrameLocomotiveCollection.java b/ProjectElectricLocomotive/FrameLocomotiveCollection.java index b30a4de..2c2c71d 100644 --- a/ProjectElectricLocomotive/FrameLocomotiveCollection.java +++ b/ProjectElectricLocomotive/FrameLocomotiveCollection.java @@ -5,10 +5,10 @@ import org.apache.logging.log4j.Logger; public class FrameLocomotiveCollection extends JFrame { public FormLocomotiveCollections _formLocomotiveCollections; - public FrameLocomotiveCollection(Logger logger){ + public FrameLocomotiveCollection(){ super(); setTitle("Коллекция");setDefaultCloseOperation(EXIT_ON_CLOSE); - _formLocomotiveCollections = new FormLocomotiveCollections(logger); + _formLocomotiveCollections = new FormLocomotiveCollections(); setContentPane(_formLocomotiveCollections.getPictureBoxCollections()); this.setJMenuBar(_formLocomotiveCollections.getMenuBar()); setDefaultLookAndFeelDecorated(false); diff --git a/ProjectElectricLocomotive/Main.java b/ProjectElectricLocomotive/Main.java index 06f3211..e5a34e7 100644 --- a/ProjectElectricLocomotive/Main.java +++ b/ProjectElectricLocomotive/Main.java @@ -6,6 +6,6 @@ public class Main { public static void main(String[] args) { System.setProperty("log4j.configurationFile", "C:\\code\\java\\ProjectElectricLocomotive\\loggerFile.xml"); - new FrameLocomotiveCollection(LogManager.getLogger()); + new FrameLocomotiveCollection(); } } -- 2.25.1 From 73023aa58f00a42a0bcd4243c120684569ed0a8e Mon Sep 17 00:00:00 2001 From: ekallin Date: Tue, 19 Dec 2023 12:17:08 +0400 Subject: [PATCH 10/12] something deleted --- ProjectElectricLocomotive/FrameLocomotiveCollection.java | 1 - ProjectElectricLocomotive/Main.java | 2 -- 2 files changed, 3 deletions(-) diff --git a/ProjectElectricLocomotive/FrameLocomotiveCollection.java b/ProjectElectricLocomotive/FrameLocomotiveCollection.java index 2c2c71d..5fb166f 100644 --- a/ProjectElectricLocomotive/FrameLocomotiveCollection.java +++ b/ProjectElectricLocomotive/FrameLocomotiveCollection.java @@ -1,7 +1,6 @@ package ProjectElectricLocomotive; import javax.swing.*; -import org.apache.logging.log4j.Logger; public class FrameLocomotiveCollection extends JFrame { public FormLocomotiveCollections _formLocomotiveCollections; diff --git a/ProjectElectricLocomotive/Main.java b/ProjectElectricLocomotive/Main.java index e5a34e7..98f9430 100644 --- a/ProjectElectricLocomotive/Main.java +++ b/ProjectElectricLocomotive/Main.java @@ -1,7 +1,5 @@ package ProjectElectricLocomotive; -import org.apache.logging.log4j.*; - public class Main { public static void main(String[] args) { -- 2.25.1 From e36c5b8f35c90bfd0135c4cb8ccf0fe9782174f4 Mon Sep 17 00:00:00 2001 From: ekallin Date: Tue, 19 Dec 2023 14:15:51 +0400 Subject: [PATCH 11/12] vrode ready lab 7 --- .../FormLocomotiveCollections.java | 58 ++++++++++--------- .../LocoNotFoundException.java | 2 +- .../LocoStorageOverflowException.java | 2 +- .../LocomotiveGenericCollection.java | 3 + 4 files changed, 35 insertions(+), 30 deletions(-) diff --git a/ProjectElectricLocomotive/FormLocomotiveCollections.java b/ProjectElectricLocomotive/FormLocomotiveCollections.java index d8f054c..3717e91 100644 --- a/ProjectElectricLocomotive/FormLocomotiveCollections.java +++ b/ProjectElectricLocomotive/FormLocomotiveCollections.java @@ -55,7 +55,7 @@ public class FormLocomotiveCollections { "Где данные? Напиши хоть что-нибудь", "Ошибка", JOptionPane.INFORMATION_MESSAGE); - return; + _logger.error("Не удалось добавить набор: " + NameStorage); } _storage.AddSet(NameStorage); ReloadObjects(); @@ -66,7 +66,7 @@ public class FormLocomotiveCollections { ButtonRemoveObject.addActionListener(e -> { if (listBoxStorage.getSelectedIndex() == -1) { - return; + _logger.error("Не выбран набор для удаления"); } JOptionPane.showMessageDialog(this.getPictureBoxCollections(), "Коллекция удалена", "Удаление", JOptionPane.INFORMATION_MESSAGE); _storage.DelSet((String) listBoxStorage.getSelectedValue()); //ТУТ СТРИНГ ОБРАТИ ВНИМАНИЕ КАК-НИБУДЬ @@ -76,10 +76,10 @@ public class FormLocomotiveCollections { ButtonAddLocomotive.addActionListener(e -> { if (listBoxStorage.getSelectedIndex() == -1) - return; + _logger.warn("Не выбрана коллекция для добавления объекта"); var obj = _storage.get(listBoxStorage.getSelectedValue().toString()); // ТУТ ЕЩЕ РАЗ - ОБРАТИ ВНИМАНИЕ НА СТРИНГ if (obj == null) { - return; + _logger.warn("Набор равен null"); } FrameLocomotiveConfig frameLocomotiveConfig = new FrameLocomotiveConfig(); frameLocomotiveConfig.setVisible(true); @@ -99,9 +99,13 @@ public class FormLocomotiveCollections { frameLocomotiveConfig._formLocomotiveConfig.buttonClose.addActionListener(e3 -> { frameLocomotiveConfig.dispose(); }); + _logger.info("Добавлен локомотив"); } catch (LocoStorageOverflowException ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); - _logger.warn("Превышено допустимое количество объектов в коллекции"); + _logger.warn("Не удалось добавить объект " + ex.getMessage()); + } + catch (Exception ex){ + _logger.fatal("фатальная ошибка"); } }); @@ -115,29 +119,17 @@ public class FormLocomotiveCollections { ButtonRemoveLocomotive.addActionListener(e -> { if (listBoxStorage.getSelectedIndex() == -1) { - return; + _logger.warn("Не выбрана коллекция для удаления объекта"); } var obj = _storage.get(listBoxStorage.getSelectedValue().toString()); if (obj == null) { - return; + _logger.warn("Набор равен null"); } int pos = Integer.parseInt(textFieldNumber.getText()); + try { - /*Object[] options = {"Да", "Нет"}; - int n = JOptionPane.showOptionDialog(this.getPictureBoxCollections(), - "Удалить объект?", - "Все серьезно", - JOptionPane.YES_NO_OPTION, - JOptionPane.QUESTION_MESSAGE, - null, - options, - options[0] - ); - if (n == 1) { - return; - }*/ DrawingLocomotive removedPlane = obj.SubOverload(pos); - if (removedPlane != null) { + //if (removedPlane != null) { _stackRemoveObjects.push(removedPlane); Refresh(); @@ -145,14 +137,14 @@ public class FormLocomotiveCollections { "Объект удален", "Успех", JOptionPane.INFORMATION_MESSAGE); - } else { - JOptionPane.showMessageDialog(this.getPictureBoxCollections(), - "Не удалось удалить объект", - "Ошибка", - JOptionPane.ERROR_MESSAGE); - } + _logger.info("Удален объект " + removedPlane); + //} } catch (LocoNotFoundException ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); + _logger.warn("Не удалось удалить объект" + ex.getMessage()); + } + catch (Exception ex){ + _logger.fatal("фатальная ошибка"); } }); @@ -193,9 +185,13 @@ public class FormLocomotiveCollections { } else { JOptionPane.showMessageDialog(null, "Не загрузилось", "Результат", JOptionPane.ERROR_MESSAGE); } + _logger.info("Загружено из файла: " + selectedFile.getAbsolutePath()); } catch (FileNotFoundException ex) { -// logger.error("\n" + "Ошибка при загрузке всех объектов из файла: " + ex.getMessage()); JOptionPane.showMessageDialog(null, "Ошибка при загрузке всех объектов " + ex.getMessage(), "Результат", JOptionPane.ERROR_MESSAGE); + _logger.error("Не удалось загрузить объекты из файла: " + selectedFile.getAbsolutePath()); + } + catch (Exception ex){ + _logger.fatal("фатальная ошибка"); } } ReloadObjects(); @@ -212,8 +208,10 @@ public class FormLocomotiveCollections { try { _storage.SaveData(selectedFile.getAbsolutePath()); JOptionPane.showMessageDialog(null, "Сохранение прошло успешно", "Результат", JOptionPane.INFORMATION_MESSAGE); + _logger.info("Сохранено в файл: " + selectedFile.getAbsolutePath()); } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Ошибка при сохранении всех объектов " + ex.getMessage(), "Результат", JOptionPane.ERROR_MESSAGE); + _logger.error("Не удалось сохранить объекты в файл: " + selectedFile.getAbsolutePath()); } } @@ -230,11 +228,13 @@ public class FormLocomotiveCollections { try { if (_storage.LoadDataSingle(selectedFile.getAbsolutePath())) { JOptionPane.showMessageDialog(null, "Загрузка прошла успешно", "Результат", JOptionPane.INFORMATION_MESSAGE); + _logger.info("Загружен файл с коллекцией: " + selectedFile.getAbsolutePath()); } else { JOptionPane.showMessageDialog(null, "Не загрузилось", "Результат", JOptionPane.ERROR_MESSAGE); } } catch (IOException ex) { JOptionPane.showMessageDialog(null, "Ошибка при загрузке коллекции " + ex.getMessage(), "Результат", JOptionPane.ERROR_MESSAGE); + _logger.error("Не удалось загрузить коллекцию из файла: " + selectedFile.getAbsolutePath()); } } ReloadObjects(); @@ -255,8 +255,10 @@ public class FormLocomotiveCollections { try { _storage.SaveDataSingle(selectedFile.getAbsolutePath(), (String) listBoxStorage.getSelectedValue()); JOptionPane.showMessageDialog(null, "Сохранение прошло успешно", "Результат", JOptionPane.INFORMATION_MESSAGE); + _logger.info("Сохранена коллекция в файл: " + selectedFile.getAbsolutePath()); } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Ошибка при сохранении коллекции " + ex.getMessage(), "Результат", JOptionPane.ERROR_MESSAGE); + _logger.error("Не удалось сохранить коллекцию в файл: " + selectedFile.getAbsolutePath()); } } diff --git a/ProjectElectricLocomotive/LocoNotFoundException.java b/ProjectElectricLocomotive/LocoNotFoundException.java index 9e115c8..e790b79 100644 --- a/ProjectElectricLocomotive/LocoNotFoundException.java +++ b/ProjectElectricLocomotive/LocoNotFoundException.java @@ -5,7 +5,7 @@ import java.io.Serializable; //create lab 7 public class LocoNotFoundException extends RuntimeException implements Serializable { public LocoNotFoundException(int i) { - super("Не найден объект по позиции" + i); + super("Не найден объект по позиции " + i); } public LocoNotFoundException(Throwable ex) { diff --git a/ProjectElectricLocomotive/LocoStorageOverflowException.java b/ProjectElectricLocomotive/LocoStorageOverflowException.java index 4767739..25c7850 100644 --- a/ProjectElectricLocomotive/LocoStorageOverflowException.java +++ b/ProjectElectricLocomotive/LocoStorageOverflowException.java @@ -7,7 +7,7 @@ public class LocoStorageOverflowException extends RuntimeException implements Se super(ex); } public LocoStorageOverflowException(int count){ - super("В наборе превышено допустимое количество локомотивов:" + count); + super("В наборе превышено допустимое количество локомотивов: " + count); } public LocoStorageOverflowException(String message){ super(message); diff --git a/ProjectElectricLocomotive/LocomotiveGenericCollection.java b/ProjectElectricLocomotive/LocomotiveGenericCollection.java index e58fc66..2b294d4 100644 --- a/ProjectElectricLocomotive/LocomotiveGenericCollection.java +++ b/ProjectElectricLocomotive/LocomotiveGenericCollection.java @@ -44,6 +44,9 @@ public class LocomotiveGenericCollection Date: Tue, 19 Dec 2023 14:34:54 +0400 Subject: [PATCH 12/12] ready lab 7 for pull request --- ProjectElectricLocomotive/FormLocomotiveCollections.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/ProjectElectricLocomotive/FormLocomotiveCollections.java b/ProjectElectricLocomotive/FormLocomotiveCollections.java index 3717e91..a2e2c7a 100644 --- a/ProjectElectricLocomotive/FormLocomotiveCollections.java +++ b/ProjectElectricLocomotive/FormLocomotiveCollections.java @@ -129,7 +129,6 @@ public class FormLocomotiveCollections { try { DrawingLocomotive removedPlane = obj.SubOverload(pos); - //if (removedPlane != null) { _stackRemoveObjects.push(removedPlane); Refresh(); @@ -138,7 +137,6 @@ public class FormLocomotiveCollections { "Успех", JOptionPane.INFORMATION_MESSAGE); _logger.info("Удален объект " + removedPlane); - //} } catch (LocoNotFoundException ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); _logger.warn("Не удалось удалить объект" + ex.getMessage()); -- 2.25.1