PIbd - 21 Bakalskaya E.D. LabWork7 Hard #10

Closed
ekallin wants to merge 12 commits from LabWork7 into LabWork6
4 changed files with 35 additions and 30 deletions
Showing only changes of commit e36c5b8f35 - Show all commits

View File

@ -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());
}
}

View File

@ -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) {

View File

@ -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);

View File

@ -44,6 +44,9 @@ public class LocomotiveGenericCollection<T extends DrawingLocomotive,U extends I
{
_collection.Remove(pos);
}
else{
throw new LocoNotFoundException(pos);
}
return loco;
}