PIbd-21_MasenkinMS_LabWork07
This commit is contained in:
parent
a0bdbb026d
commit
ba418fb255
@ -7,5 +7,23 @@
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$USER_HOME$/OneDrive/Рабочий стол/log4j-api-2.22.0.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$USER_HOME$/OneDrive/Рабочий стол/log4j-core-2.22.0.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
</component>
|
||||
</module>
|
@ -3,7 +3,7 @@
|
||||
<grid id="27dc6" binding="mainPanel" layout-manager="GridLayoutManager" row-count="1" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<margin top="0" left="0" bottom="0" right="0"/>
|
||||
<constraints>
|
||||
<xy x="20" y="20" width="500" height="402"/>
|
||||
<xy x="20" y="20" width="500" height="406"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
@ -123,7 +123,17 @@
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children/>
|
||||
<children>
|
||||
<grid id="e801f" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<margin top="0" left="0" bottom="0" right="0"/>
|
||||
<constraints>
|
||||
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="4" fill="2" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children/>
|
||||
</grid>
|
||||
</children>
|
||||
</grid>
|
||||
</children>
|
||||
</grid>
|
||||
|
@ -1,5 +1,7 @@
|
||||
package AccordionBus;
|
||||
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ListSelectionEvent;
|
||||
import javax.swing.event.ListSelectionListener;
|
||||
@ -15,6 +17,8 @@ import java.util.Random;
|
||||
public class BusCollectionForm extends JFrame {
|
||||
// Набор объектов
|
||||
private final BusGenericStorage _storage;
|
||||
// Логгер
|
||||
private final Logger _logger;
|
||||
// Набор удаленных объектов
|
||||
private final LinkedList<DrawingBus> _deletedBuses;
|
||||
// Выбранный автобус
|
||||
@ -48,10 +52,11 @@ public class BusCollectionForm extends JFrame {
|
||||
private JMenuItem openCollectionItem = new JMenuItem("Загрузка коллекции");
|
||||
|
||||
// Конструктор
|
||||
public BusCollectionForm() {
|
||||
public BusCollectionForm(Logger logger) {
|
||||
pictureBoxCollection.setSize(new Dimension(700, 450));
|
||||
_storage = new BusGenericStorage(pictureBoxCollection.getWidth(), pictureBoxCollection.getHeight());
|
||||
_deletedBuses = new LinkedList<DrawingBus>();
|
||||
_logger = logger;
|
||||
|
||||
// Модель списка
|
||||
listModel = new DefaultListModel<String>();
|
||||
@ -70,10 +75,12 @@ public class BusCollectionForm extends JFrame {
|
||||
buttonAddObject.addActionListener(e -> {
|
||||
if (textFieldStorage.getText().length() == 0) {
|
||||
JOptionPane.showMessageDialog(null, "Не все данные заполнены", "Ошибка", JOptionPane.ERROR_MESSAGE);
|
||||
_logger.error("Не удалось добавить набор: " + textFieldStorage.getText());
|
||||
return;
|
||||
}
|
||||
_storage.AddSet(textFieldStorage.getText());
|
||||
ReloadObjects();
|
||||
_logger.info("Добавлен набор: " + textFieldStorage.getText());
|
||||
});
|
||||
|
||||
// Выбор набора
|
||||
@ -87,23 +94,28 @@ public class BusCollectionForm extends JFrame {
|
||||
// Удаление набора
|
||||
buttonDeleteObject.addActionListener(e -> {
|
||||
if (listStorages.getSelectedIndex() == -1) {
|
||||
_logger.error("Не выбран набор для удаления");
|
||||
return;
|
||||
}
|
||||
|
||||
if (JOptionPane.showConfirmDialog(null, "Удалить объект " + listStorages.getSelectedValue() + "?", "Удаление", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
|
||||
_storage.DelSet(listStorages.getSelectedValue().toString());
|
||||
ReloadObjects();
|
||||
_logger.info("Удален набор: " + listStorages.getSelectedValue().toString());
|
||||
}
|
||||
_logger.info("Отмена удаления набора");
|
||||
});
|
||||
|
||||
// Добавление объета в набор
|
||||
buttonAddBus.addActionListener(e -> {
|
||||
if (listStorages.getSelectedIndex() == -1) {
|
||||
_logger.warn("Не выбран набор для добавления объекта");
|
||||
return;
|
||||
}
|
||||
|
||||
var obj = _storage.get(listStorages.getSelectedValue().toString());
|
||||
if (obj == null) {
|
||||
_logger.warn("Выбранный набор не существует");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -113,15 +125,23 @@ public class BusCollectionForm extends JFrame {
|
||||
frameBusConfig.busConfigForm.addButton.addActionListener(ev -> {
|
||||
SelectedBus = frameBusConfig.busConfigForm._bus;
|
||||
frameBusConfig.dispose();
|
||||
if (SelectedBus != null) {
|
||||
if (obj.plus(SelectedBus) > -2) {
|
||||
Refresh();
|
||||
JOptionPane.showMessageDialog(this.getMainPanel(), "Объект добавлен", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
||||
}
|
||||
else {
|
||||
JOptionPane.showMessageDialog(this.getMainPanel(), "Объект не добавлен", "Ошибка", JOptionPane.INFORMATION_MESSAGE);
|
||||
try {
|
||||
if (SelectedBus != null) {
|
||||
if (obj.plus(SelectedBus) > -2) {
|
||||
Refresh();
|
||||
JOptionPane.showMessageDialog(this.getMainPanel(), "Объект добавлен", "Успех", JOptionPane.INFORMATION_MESSAGE);
|
||||
_logger.info("Добавлен объект: " + SelectedBus);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (StorageOverflowException ex) {
|
||||
JOptionPane.showMessageDialog(this.getMainPanel(), "Объект не добавлен", "Ошибка", JOptionPane.INFORMATION_MESSAGE);
|
||||
_logger.warn("Не удалось добавить объект: " + ex.getMessage());
|
||||
}
|
||||
catch (Exception ex) {
|
||||
JOptionPane.showMessageDialog(this.getMainPanel(), "Объект не добавлен", "Ошибка", JOptionPane.INFORMATION_MESSAGE);
|
||||
_logger.fatal("Не удалось добавить объект: " + ex.getMessage());
|
||||
}
|
||||
});
|
||||
|
||||
frameBusConfig.busConfigForm.cancelButton.addActionListener(ee -> frameBusConfig.dispose());
|
||||
@ -130,27 +150,38 @@ public class BusCollectionForm extends JFrame {
|
||||
// Удаление объекта из набора
|
||||
buttonRemoveBus.addActionListener(e -> {
|
||||
if (listStorages.getSelectedIndex() == -1) {
|
||||
_logger.warn("Не выбран набор для удаления объекта");
|
||||
return;
|
||||
}
|
||||
|
||||
var obj = _storage.get(listStorages.getSelectedValue().toString());
|
||||
if (obj == null) {
|
||||
_logger.warn("Выбранный набор не существует");
|
||||
return;
|
||||
}
|
||||
|
||||
if (JOptionPane.showConfirmDialog(null, "Удалить объект?", "Удаление", JOptionPane.YES_NO_OPTION) == JOptionPane.NO_OPTION) {
|
||||
_logger.info("Отмена удаления набора");
|
||||
return;
|
||||
}
|
||||
|
||||
int pos = Integer.parseInt(textFieldNumber.getText());
|
||||
var removed = obj.minus(pos);
|
||||
if (removed != null) {
|
||||
_deletedBuses.add(removed);
|
||||
JOptionPane.showMessageDialog(null, "Объект удален", "Удаление", JOptionPane.INFORMATION_MESSAGE);
|
||||
Refresh();
|
||||
try {
|
||||
var removed = obj.minus(pos);
|
||||
if (removed != null) {
|
||||
_deletedBuses.add(removed);
|
||||
JOptionPane.showMessageDialog(null, "Объект удален", "Удаление", JOptionPane.INFORMATION_MESSAGE);
|
||||
Refresh();
|
||||
_logger.info("Удален объект: " + removed);
|
||||
}
|
||||
}
|
||||
else {
|
||||
catch (BusNotFoundException ex) {
|
||||
JOptionPane.showMessageDialog(null, "Не удалось удалить объект", "Удаление", JOptionPane.INFORMATION_MESSAGE);
|
||||
logger.warn("Не удалось удалить объект: " + ex.getMessage());
|
||||
}
|
||||
catch (Exception ex) {
|
||||
JOptionPane.showMessageDialog(null, "Не удалось удалить объект", "Удаление", JOptionPane.INFORMATION_MESSAGE);
|
||||
logger.fatal("Не удалось удалить объект: " + ex.getMessage());
|
||||
}
|
||||
});
|
||||
|
||||
@ -195,11 +226,15 @@ public class BusCollectionForm extends JFrame {
|
||||
|
||||
if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
|
||||
File file = fileChooser.getSelectedFile();
|
||||
if (_storage.SaveData(file.getAbsolutePath())) {
|
||||
JOptionPane.showMessageDialog(null, "Сохранение прошло успешно", "Результат", JOptionPane.INFORMATION_MESSAGE);
|
||||
try {
|
||||
if (_storage.SaveData(file.getAbsolutePath())) {
|
||||
JOptionPane.showMessageDialog(null, "Сохранение прошло успешно", "Результат", JOptionPane.INFORMATION_MESSAGE);
|
||||
_logger.info("Сохранение данных в файл: " + file.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
else {
|
||||
catch (Exception ex) {
|
||||
JOptionPane.showMessageDialog(null, "Не удалось сохранить данные", "Результат", JOptionPane.ERROR_MESSAGE);
|
||||
_logger.error("Не удалось сохранить данные в файл: " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -211,6 +246,7 @@ public class BusCollectionForm extends JFrame {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if (listStorages.getSelectedIndex() == -1) {
|
||||
JOptionPane.showMessageDialog(null, "Не выбрана коллекция", "Ошибка", JOptionPane.ERROR_MESSAGE);
|
||||
_logger.error("Не выбрана коллекция для сохранения");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -220,11 +256,15 @@ public class BusCollectionForm extends JFrame {
|
||||
|
||||
if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
|
||||
File file = fileChooser.getSelectedFile();
|
||||
if (_storage.SaveCollectionData(file.getAbsolutePath(), listStorages.getSelectedValue().toString())) {
|
||||
JOptionPane.showMessageDialog(null, "Сохранение прошло успешно", "Результат", JOptionPane.INFORMATION_MESSAGE);
|
||||
try {
|
||||
if (_storage.SaveCollectionData(file.getAbsolutePath(), listStorages.getSelectedValue().toString())) {
|
||||
JOptionPane.showMessageDialog(null, "Сохранение прошло успешно", "Результат", JOptionPane.INFORMATION_MESSAGE);
|
||||
_logger.info("Сохранение данных в файл: " + file.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
else {
|
||||
catch (Exception ex) {
|
||||
JOptionPane.showMessageDialog(null, "Не удалось сохранить данные", "Результат", JOptionPane.ERROR_MESSAGE);
|
||||
_logger.error("Не удалось сохранить данные в файл: " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -240,14 +280,18 @@ public class BusCollectionForm extends JFrame {
|
||||
|
||||
if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
|
||||
File file = fileChooser.getSelectedFile();
|
||||
if (_storage.LoadData(file.getAbsolutePath())) {
|
||||
JOptionPane.showMessageDialog(null, "Загрузка прошло успешно", "Результат", JOptionPane.INFORMATION_MESSAGE);
|
||||
try {
|
||||
if (_storage.LoadData(file.getAbsolutePath())) {
|
||||
ReloadObjects();
|
||||
JOptionPane.showMessageDialog(null, "Загрузка прошла успешно", "Результат", JOptionPane.INFORMATION_MESSAGE);
|
||||
_logger.info("Загружены данные из файла: " + file.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
else {
|
||||
catch (Exception ex) {
|
||||
JOptionPane.showMessageDialog(null, "Не удалось загрузить данные", "Результат", JOptionPane.ERROR_MESSAGE);
|
||||
_logger.error("Не удалось загрузить данные из файла: " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
ReloadObjects();
|
||||
}
|
||||
});
|
||||
|
||||
@ -261,14 +305,18 @@ public class BusCollectionForm extends JFrame {
|
||||
|
||||
if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
|
||||
File file = fileChooser.getSelectedFile();
|
||||
if (_storage.LoadCollectionData(file.getAbsolutePath())) {
|
||||
JOptionPane.showMessageDialog(null, "Загрузка прошло успешно", "Результат", JOptionPane.INFORMATION_MESSAGE);
|
||||
try {
|
||||
if (_storage.LoadCollectionData(file.getAbsolutePath())) {
|
||||
ReloadObjects();
|
||||
JOptionPane.showMessageDialog(null, "Загрузка прошла успешно", "Результат", JOptionPane.INFORMATION_MESSAGE);
|
||||
_logger.info("Загружены данные из файла: " + file.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
else {
|
||||
catch (Exception ex) {
|
||||
JOptionPane.showMessageDialog(null, "Не удалось загрузить данные", "Результат", JOptionPane.ERROR_MESSAGE);
|
||||
_logger.error("Не удалось загрузить данные из файла: " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
ReloadObjects();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.zip.DataFormatException;
|
||||
|
||||
// Класс для хранения коллекции
|
||||
public class BusGenericStorage {
|
||||
@ -76,7 +77,7 @@ public class BusGenericStorage {
|
||||
}
|
||||
|
||||
// Сохранение информации по автобусам в хранилище в файл
|
||||
public boolean SaveData(String filename) {
|
||||
public boolean SaveData(String filename) throws Exception {
|
||||
if (new File(filename).exists()) {
|
||||
new File(filename).delete();
|
||||
}
|
||||
@ -91,7 +92,7 @@ public class BusGenericStorage {
|
||||
}
|
||||
|
||||
if (data.length() == 0) {
|
||||
return false;
|
||||
throw new IOException("Нет данных для сохранения!");
|
||||
}
|
||||
|
||||
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) {
|
||||
@ -106,7 +107,7 @@ public class BusGenericStorage {
|
||||
}
|
||||
|
||||
// Сохранение информации по автобусам из коллекции хранилища в файл
|
||||
public boolean SaveCollectionData(String filename, String key) {
|
||||
public boolean SaveCollectionData(String filename, String key) throws Exception {
|
||||
if (new File(filename).exists()) {
|
||||
new File(filename).delete();
|
||||
}
|
||||
@ -118,7 +119,7 @@ public class BusGenericStorage {
|
||||
}
|
||||
|
||||
if (data.length() == 0) {
|
||||
return false;
|
||||
throw new Exception("Невалидная операция, нет данных для сохранения!");
|
||||
}
|
||||
|
||||
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) {
|
||||
@ -133,20 +134,20 @@ public class BusGenericStorage {
|
||||
}
|
||||
|
||||
// Загрузка информации по автобусам в хранилище из файла
|
||||
public boolean LoadData(String filename) {
|
||||
public boolean LoadData(String filename) throws Exception {
|
||||
if (!new File(filename).exists()) {
|
||||
return false;
|
||||
throw new FileNotFoundException("Файл не найден!");
|
||||
}
|
||||
|
||||
try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
|
||||
String line = reader.readLine();
|
||||
// Если строка пустая
|
||||
if (line == null || line.length() == 0) {
|
||||
return false;
|
||||
throw new IOException("Нет данных для загрузки!");
|
||||
}
|
||||
// Если нет записи "BusStorage", то это не те данные
|
||||
if (!line.startsWith("BusStorage")) {
|
||||
return false;
|
||||
throw new DataFormatException("Неверный формат данных!");
|
||||
}
|
||||
|
||||
_busStorages.clear();
|
||||
@ -164,7 +165,7 @@ public class BusGenericStorage {
|
||||
DrawingBus bus = ExtensionDrawingBus.CreateDrawingBus(elem, _separatorForObject, _pictureWidth, _pictureHeight);
|
||||
if (bus != null) {
|
||||
if (collection.plus(bus) == -1) {
|
||||
return false;
|
||||
throw new Exception("Ошибка добавления в коллекцию!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -182,26 +183,26 @@ public class BusGenericStorage {
|
||||
}
|
||||
|
||||
// Загрузка информации по автобусам в коллекцию хранилища из файла
|
||||
public boolean LoadCollectionData(String filename) {
|
||||
public boolean LoadCollectionData(String filename) throws Exception {
|
||||
if (!new File(filename).exists()) {
|
||||
return false;
|
||||
throw new FileNotFoundException("Файл не найден!");
|
||||
}
|
||||
|
||||
try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
|
||||
String line = reader.readLine();
|
||||
// Если строка пустая
|
||||
if (line == null || line.length() == 0) {
|
||||
return false;
|
||||
throw new IOException("Нет данных для загрузки!");
|
||||
}
|
||||
// Если нет записи "BusCollectionStorage", то это не те данные
|
||||
if (!line.startsWith("BusCollectionStorage")) {
|
||||
return false;
|
||||
throw new DataFormatException("Неверный формат данных!");
|
||||
}
|
||||
|
||||
String key = reader.readLine();
|
||||
// Если значение ключа пустое
|
||||
if (key == null || key.length() == 0) {
|
||||
return false;
|
||||
throw new IOException("Нет данных для загрузки!");
|
||||
}
|
||||
|
||||
BusGenericCollection<DrawingBus, DrawingObjectBus> collection;
|
||||
@ -224,7 +225,7 @@ public class BusGenericStorage {
|
||||
DrawingBus bus = ExtensionDrawingBus.CreateDrawingBus(elem, _separatorForObject, _pictureWidth, _pictureHeight);
|
||||
if (bus != null) {
|
||||
if (collection.plus(bus) == -1) {
|
||||
return false;
|
||||
throw new Exception("Ошибка добавления в коллекцию!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
20
AccordionBus/BusNotFoundException.java
Normal file
20
AccordionBus/BusNotFoundException.java
Normal file
@ -0,0 +1,20 @@
|
||||
package AccordionBus;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class BusNotFoundException extends RuntimeException implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public BusNotFoundException(int i) {
|
||||
super("Не найден объект по позиции " + i);
|
||||
}
|
||||
public BusNotFoundException() {
|
||||
super();
|
||||
}
|
||||
public BusNotFoundException(String message) {
|
||||
super(message);
|
||||
}
|
||||
public BusNotFoundException(String message, Throwable exception) {
|
||||
super(message, exception);
|
||||
}
|
||||
}
|
@ -1,16 +1,18 @@
|
||||
package AccordionBus;
|
||||
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
public class FrameBusCollection extends JFrame {
|
||||
public BusCollectionForm busCollectionForm;
|
||||
|
||||
public FrameBusCollection() {
|
||||
public FrameBusCollection(Logger logger) {
|
||||
super();
|
||||
setTitle("Набор автобусов");
|
||||
setDefaultCloseOperation(EXIT_ON_CLOSE);
|
||||
busCollectionForm = new BusCollectionForm();
|
||||
busCollectionForm = new BusCollectionForm(logger);
|
||||
setContentPane(busCollectionForm.getMainPanel());
|
||||
setDefaultLookAndFeelDecorated(false);
|
||||
setPreferredSize(new Dimension(900, 500));
|
||||
|
@ -1,7 +1,10 @@
|
||||
package AccordionBus;
|
||||
|
||||
import org.apache.logging.log4j.*;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
new FrameBusCollection();
|
||||
System.setProperty("log4j.configurationFile", "D:\\ULSTU\\Семестр 3\\РПП Java\\AccordionBus\\loggerSettings.xml");
|
||||
new FrameBusCollection(LogManager.getLogger("logger"));
|
||||
}
|
||||
}
|
@ -30,6 +30,10 @@ public class SetGeneric<T extends Object> {
|
||||
|
||||
// Добавление объекта в набор на конкретную позицию
|
||||
public int Insert(T bus, int position) {
|
||||
if (_places.size() >= _maxCount) {
|
||||
throw new StorageOverflowException(_maxCount);
|
||||
}
|
||||
|
||||
// Проверка позиции
|
||||
if (position < 0 || position >= _maxCount) {
|
||||
return -1;
|
||||
@ -42,6 +46,10 @@ public class SetGeneric<T extends Object> {
|
||||
|
||||
// Удаление объекта из набора с конкретной позиции
|
||||
public boolean Remove(int position) {
|
||||
if (position >= Count() && position < _maxCount) {
|
||||
throw new BusNotFoundException(position);
|
||||
}
|
||||
|
||||
// Проверка позиции
|
||||
if (position < 0 || position >= _maxCount) {
|
||||
return false;
|
||||
@ -59,6 +67,10 @@ public class SetGeneric<T extends Object> {
|
||||
|
||||
// Получение объекта из набора по позиции
|
||||
public T Get(int position) {
|
||||
if (position >= Count() && position < _maxCount) {
|
||||
throw new BusNotFoundException(position);
|
||||
}
|
||||
|
||||
// Проверка позиции
|
||||
if (position < 0 || position >= _maxCount) {
|
||||
return null;
|
||||
|
20
AccordionBus/StorageOverflowException.java
Normal file
20
AccordionBus/StorageOverflowException.java
Normal file
@ -0,0 +1,20 @@
|
||||
package AccordionBus;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class StorageOverflowException extends RuntimeException implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public StorageOverflowException(int count) {
|
||||
super("В наборе превышено допустимое количество: " + count);
|
||||
}
|
||||
public StorageOverflowException() {
|
||||
super();
|
||||
}
|
||||
public StorageOverflowException(String message) {
|
||||
super(message);
|
||||
}
|
||||
public StorageOverflowException(String message, Throwable exception) {
|
||||
super(message, exception);
|
||||
}
|
||||
}
|
32
AccordionBus/loggerSettings.xml
Normal file
32
AccordionBus/loggerSettings.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Configuration>
|
||||
<!-- Секция аппендеров -->
|
||||
<Appenders>
|
||||
<!-- Файловый аппендер -->
|
||||
<File name="fileWarnings" fileName="logWarnings.log">
|
||||
<PatternLayout>
|
||||
<Pattern> %m (дата-%d{d.M.y}) %ex%n</Pattern>
|
||||
</PatternLayout>
|
||||
</File>
|
||||
|
||||
<File name="fileInfo" fileName="logInfo.log">
|
||||
<PatternLayout>
|
||||
<Pattern> %m (дата-%d{d.M.y}) %ex%n</Pattern>
|
||||
</PatternLayout>
|
||||
<Filters>
|
||||
<!-- Now deny warn, error and fatal messages -->
|
||||
<ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
|
||||
|
||||
<!-- This filter accepts info, warn, error, fatal and denies debug/trace -->
|
||||
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
</Filters>
|
||||
</File>
|
||||
</Appenders>
|
||||
<!-- Секция логгеров -->
|
||||
<Loggers>
|
||||
<Logger name="logger" level="info" additivity="false">
|
||||
<AppenderRef ref="fileInfo" level="INFO"/>
|
||||
<AppenderRef ref="fileWarnings" level="WARN"/>
|
||||
</Logger>
|
||||
</Loggers>
|
||||
</Configuration>
|
4
logInfo.log
Normal file
4
logInfo.log
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Загружены данные из файла: C:\Users\masen\OneDrive\Рабочий стол\data.txt (дата-5.12.2023)
|
||||
Удален объект: AccordionBus.DrawingBus@465525b9 (дата-5.12.2023)
|
||||
Добавлен объект: AccordionBus.DrawingBus@228f8e71 (дата-5.12.2023)
|
3
logWarnings.log
Normal file
3
logWarnings.log
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
Не удалось добавить объект: В наборе превышено допустимое количество: 27 (дата-5.12.2023)
|
||||
Не удалось удалить объект: Не найден объект по позиции 26 (дата-5.12.2023)
|
Loading…
Reference in New Issue
Block a user