Skip to content

Commit d882221

Browse files
authored
neither was their place found any more in heaven
And prevailed not; neither was their place found any more in heaven. (Revelation 12:8)
1 parent 05f632b commit d882221

File tree

1 file changed

+57
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)