-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
57 lines (37 loc) · 2.44 KB
/
Solution.java
File metadata and controls
57 lines (37 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//And prevailed not; neither was their place found any more in heaven. (Revelation 12:8)
package com.javarush.task.task39.task3911;
import java.util.Map;
/*
Rollback
*/
public class Solution {
public static void main(String[] args) {
Software software = new Software();
int n = 3;
for (int i = 1; i < 7; i++) {
software.addNewVersion(i, "description of version #" + i);
}
System.out.println("printing all versions ");
for (Map.Entry entry : software.getVersionHistoryMap().entrySet()) {
System.out.println(entry.getKey() + " :: " + entry.getValue());
}
System.out.println("current version is " + software.getCurrentVersion());
System.out.println("ROLLING BACK to version " + n);
software.rollback(n);
System.out.println("\nprinting all versions ");
for (Map.Entry entry : software.getVersionHistoryMap().entrySet()) {
System.out.println(entry.getKey() + " :: " + entry.getValue());
}
System.out.println("current version is " + software.getCurrentVersion());
}
}
/*
Rollback
Необходимо реализовать метод rollback в классе Software, который будет позволять откатить текущую версию ПО на желаемую. Все версии следующие после той, на которую откатываемся, должны быть удалены, также не забудь изменить поле currentVersion.
Метод rollback должен вернуть true, если все прошло успешно и false, если желаемая версия не была найдена.
Требования:
1. Метод rollback должен возвращать false, если желаемая версия не была найдена в versionHistoryMap.
2. Метод rollback должен удалять из versionHistoryMap только версии ПО, следующие за той, которую передали в качестве параметра.
3. Метод rollback должен устанавливать currentVersion в соответствие с новым значением и возвращать true в случае успешного отката.
4. Метод rollback не должен изменять currentVersion и versionHistoryMap, если откат невозможен.
*/