Skip to content

Commit 4dcfd91

Browse files
committed
Java sprint 7 v1.2
Обновлен класс FileBackedTaskManager Убран String Templates и переделан под Java 11 reformat code классов Epic,Subtask,Task, FileBackedTaskManager
1 parent dbb8ca4 commit 4dcfd91

File tree

8 files changed

+45
-62
lines changed

8 files changed

+45
-62
lines changed

src/ru/yandex/javacource/golotin/schedule/Main.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
public class Main {
1212
public static void main(String[] args) {
13-
TaskManager taskManager = Manager.getDefaults();
13+
TaskManager taskManager = Manager.getDefault();
1414
taskManager.createTask(new Task("Дом", Status.NEW, "Убраться в кухни и ванной"));
1515
taskManager.createTask(new Task("Работа", Status.IN_PROGRESS, "Сделать куча рутины и пойти домой:)"));
1616

@@ -31,13 +31,6 @@ public static void main(String[] args) {
3131
System.out.println(taskManager.getTasks());
3232
System.out.println(taskManager.getEpics());
3333

34-
taskManager.deleteTask(1);
35-
taskManager.deleteEpic(1);
36-
taskManager.deleteSubtask(1);
37-
38-
taskManager.cleanTasks();
39-
taskManager.cleanSubtasks();
40-
taskManager.cleanEpics();
4134

4235
}
4336
}

src/ru/yandex/javacource/golotin/schedule/model/Epic.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ public Epic(String name, Status status, String description) {
1111
super(name, status, description);
1212
}
1313

14-
public Epic(int id,String name,String description,Status status){
14+
public Epic(int id, String name, String description, Status status) {
1515
super(name, status, description);
1616
setId(id);
1717
}
18+
1819
public void addSubtaskId(int id) {
1920
subtaskIds.add(id);
2021
}
@@ -31,11 +32,15 @@ public List<Integer> getSubtaskIds() {
3132
return subtaskIds;
3233
}
3334

34-
public TaskType getType() {return TaskType.EPIC;}
35+
public TaskType getType() {
36+
return TaskType.EPIC;
37+
}
3538

3639
@Override
3740
public String toString() {
38-
return STR."Epic{subtaskIds=\{subtaskIds}\{'}'}";
41+
return "Epic{" +
42+
"subtaskIds=" + subtaskIds +
43+
'}';
3944
}
4045

4146
}

src/ru/yandex/javacource/golotin/schedule/model/Subtask.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,36 @@ public class Subtask extends Task {
44

55
private Integer epicId;
66

7-
public Subtask(String name, Status status, String description,int epicId) {
7+
public Subtask(String name, Status status, String description, int epicId) {
88

99
super(name, status, description);
1010
setEpicId(epicId);
1111
}
12-
public Subtask(int id,String name,String description,Status status,Integer epicId){
12+
13+
public Subtask(int id, String name, String description, Status status, Integer epicId) {
1314
super(name, status, description);
1415
setId(id);
1516
setEpicId(epicId);
1617
}
18+
1719
@Override
1820
public Integer getEpicId() {
1921
return epicId;
2022
}
2123

2224
@Override
23-
public TaskType getType() {return TaskType.SUBTASK;}
25+
public TaskType getType() {
26+
return TaskType.SUBTASK;
27+
}
2428

2529
public void setEpicId(Integer epicId) {
2630
this.epicId = epicId;
2731
}
2832

2933
@Override
3034
public String toString() {
31-
return STR."Subtask{epicId=\{epicId}\{'}'}";
35+
return "Subtask{" +
36+
"epicId=" + epicId +
37+
'}';
3238
}
3339
}

src/ru/yandex/javacource/golotin/schedule/model/Task.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public Task(String name, Status status, String description) {
1414
this.description = description;
1515
}
1616

17-
public Task(int id,String name,String description,Status status){
17+
public Task(int id, String name, String description, Status status) {
1818
setId(id);
1919
this.name = name;
2020
this.status = status;
@@ -33,7 +33,9 @@ public String getName() {
3333
return name;
3434
}
3535

36-
public Integer getEpicId() {return null;}
36+
public Integer getEpicId() {
37+
return null;
38+
}
3739

3840
public void setName(String name) {
3941
this.name = name;
@@ -43,7 +45,9 @@ public String getDescription() {
4345
return description;
4446
}
4547

46-
public TaskType getType() {return TaskType.TASK;}
48+
public TaskType getType() {
49+
return TaskType.TASK;
50+
}
4751

4852
public void setDescription(String description) {
4953
this.description = description;
@@ -72,6 +76,11 @@ public int hashCode() {
7276

7377
@Override
7478
public String toString() {
75-
return STR."Task{id=\{id}, name='\{name}\{'\''}, description='\{description}\{'\''}, status=\{status}\{'}'}";
79+
return "Task{" +
80+
"id=" + id +
81+
", name='" + name + '\'' +
82+
", description='" + description + '\'' +
83+
", status=" + status +
84+
'}';
7685
}
7786
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
id,type,name,status,description,epic
2+
1,TASK,Дом,NEW,Убраться в кухни и ванной,
3+
2,TASK,Работа,IN_PROGRESS,Сделать куча рутины и пойти домой:),
4+
3,EPIC,Прогулка,NEW,Прежде чем погулять нужно:,
5+
4,EPIC,Приготовить кофе,NEW,Пойти на кухню и:,
6+

src/ru/yandex/javacource/golotin/schedule/service/FileBackedTaskManager.java

Lines changed: 6 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public static FileBackedTaskManager loadFromFile(File file) {
6060
}
6161
taskManager.counterId = generatorId;
6262
} catch (IOException e) {
63-
throw new ManagerSaveException(STR."Невозможно прочитать файл: \{file.getName()}", e);
63+
throw new ManagerSaveException("Невозможно прочитать файл: " + file.getName(), e);
6464
}
6565
return taskManager;
6666
}
@@ -123,7 +123,8 @@ public void deleteSubtask(int id) {
123123
}
124124

125125
public static String toString(Task task) {
126-
return STR."\{task.getId()},\{task.getType()},\{task.getName()},\{task.getStatus()},\{task.getDescription()},\{task.getType().equals(TaskType.SUBTASK) ? task.getEpicId() : ""}";
126+
return task.getId() + "," + task.getType() + "," + task.getName() + "," + task.getStatus() + "," +
127+
task.getDescription() + "," + (task.getType().equals(TaskType.SUBTASK) ? task.getEpicId() : "");
127128
}
128129

129130

@@ -152,19 +153,19 @@ protected void saveToFile() {
152153

153154
for (Map.Entry<Integer, Task> entry : tasks.entrySet()) {
154155
final Task task = entry.getValue();
155-
writer.write(CSVTaskFormat.toString(task));
156+
writer.write(toString(task));
156157
writer.newLine();
157158
}
158159

159160
for (Map.Entry<Integer, Subtask> entry : subtasks.entrySet()) {
160161
final Task task = entry.getValue();
161-
writer.write(CSVTaskFormat.toString(task));
162+
writer.write(toString(task));
162163
writer.newLine();
163164
}
164165

165166
for (Map.Entry<Integer, Epic> entry : epics.entrySet()) {
166167
final Task task = entry.getValue();
167-
writer.write(CSVTaskFormat.toString(task));
168+
writer.write(toString(task));
168169
writer.newLine();
169170
}
170171

@@ -173,39 +174,4 @@ protected void saveToFile() {
173174
throw new ManagerSaveException("Ошибка сохранения файла: " + file.getName(), e);
174175
}
175176
}
176-
177-
private void loadFromFile() {// Чтение из в файла
178-
int maxId = 0;
179-
try (final BufferedReader reader = new BufferedReader(new FileReader(file, UTF_8))) {
180-
reader.readLine(); // Пропускаем заголовок
181-
while (true) {
182-
String line = reader.readLine();
183-
final Task task = taskFromString(line);
184-
final int id = task.getId();
185-
if (task.getType() == TaskType.TASK) {// Задача
186-
tasks.put(id, task);
187-
} else if (task.getType() == TaskType.SUBTASK) {// Подзадачи
188-
subtasks.put(id, new Subtask(task.getId(), task.getName(), task.getDescription(), task.getStatus(),
189-
task.getEpicId()));
190-
} else if (task.getType() == TaskType.EPIC) {// Эпики
191-
epics.put(id, new Epic(task.getId(), task.getName(), task.getDescription(), task.getStatus()));
192-
for (Subtask subtask : subtasks.values()) {// Поиск подзадач эпика
193-
if (subtask.getEpicId() == task.getId()) {
194-
Epic epic = epics.get(task.getId());
195-
epic.addSubtaskId(subtask.getId());
196-
}
197-
}
198-
}
199-
if (maxId < id) {
200-
maxId = id;
201-
}
202-
if (line.isEmpty()) {
203-
break;
204-
}
205-
}
206-
} catch (IOException e) {// Отлавливаем ошибки
207-
throw new ManagerSaveException(STR."Ошибка при чтении файла: \{file.getAbsolutePath()}", e);
208-
}
209-
counterId = maxId;// генератор
210-
}
211177
}

src/ru/yandex/javacource/golotin/schedule/service/Manager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
public class Manager {
66
public static TaskManager getDefault() {
7-
return new FileBackedTaskManager(new File("resources/task.csv"));
7+
return new FileBackedTaskManager(new File("/Users/admin/Documents/GitHub/java-kanban/src/ru/yandex/javacource/golotin/schedule/resources/task.csv"));
88
}
99

1010
public static InMemoryHistoryManager getDefaultHistory() {

task.csv

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)