Skip to content

Commit a1e7120

Browse files
committed
programming/lab5 updates
1 parent 35c61b5 commit a1e7120

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+641
-286
lines changed
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
import textWorkers.Invokers.CLInvoker;
1+
import core.Engine;
2+
import textWorkers.invokers.CLInvoker;
23

34
public class Main {
45
public static void main(String[] args) {
5-
CLInvoker invoker = new CLInvoker();
6-
invoker.mainCycle();
6+
Engine engine = new Engine();
7+
Engine.setActiveInvoker(new CLInvoker());
8+
engine.start();
79
}
810
}

programming/sem2/lab5/src/commands/Add.java

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,10 @@
33
import java.util.ArrayDeque;
44
import java.util.HashMap;
55

6-
import commands.converters.Converters;
7-
import commands.parsers.AdditionalParsers;
8-
import commands.parsers.EnumsParser;
96
import exceptions.UnacceptableValue;
10-
import objects.enums.Climate;
11-
import objects.enums.Government;
12-
import objects.enums.StandardOfLiving;
137
import commands.utils.AddUtils;
148
import objects.City;
15-
import workers.Reciver;
9+
import core.Structure;
1610

1711
public class Add extends BasicCommand{
1812
public Add(){
@@ -22,24 +16,18 @@ public Add(){
2216
}
2317

2418
public final void execute(HashMap<String, String> args){
25-
Reciver reciver = new Reciver();
26-
ArrayDeque<City> allEntitys = reciver.getAllEntities();
27-
19+
Structure structure = new Structure();
20+
ArrayDeque<City> allEntities = structure.getAllEntities();
2821
try {
2922
City city = new City(
30-
AddUtils.findFreeId(allEntitys),
23+
AddUtils.findFreeId(allEntities),
3124
args.get("name"),
32-
AdditionalParsers.parseCoordinates(),
3325
AddUtils.generateLocalDateTime(),
34-
Converters.StringToPrimitiveDouble(args.get("area")),
35-
Converters.StringToPrimitiveLong(args.get("population")),
36-
Converters.StringToPrimitiveFloat(args.get("metersAboveSeaLevel")),
37-
EnumsParser.parse(Climate.class, "тип климата"),
38-
EnumsParser.parse(Government.class, "тип правительства"),
39-
EnumsParser.parse(StandardOfLiving.class, "стандарт качества жизни"),
40-
AdditionalParsers.parseHuman()
26+
args.get("area"),
27+
args.get("population"),
28+
args.get("metersAboveSeaLevel")
4129
);
42-
reciver.addEntity(
30+
structure.addEntity(
4331
city
4432
);
4533
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package commands;
2+
3+
import core.Structure;
4+
5+
import java.util.HashMap;
6+
7+
public class AverageOfMetersAboveSeaLevel extends BasicCommand{
8+
public AverageOfMetersAboveSeaLevel(){
9+
super("average_of_meters_above_sea_level", "Выводит среднюю высоту над уровнем моря");
10+
}
11+
12+
public final void execute(HashMap<String, String> args){
13+
Structure structure = new Structure();
14+
System.out.println(structure.averageOfMetersAboveSeaLevel());
15+
}
16+
}
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package commands;
22

3-
import workers.Engine;
4-
import workers.Reciver;
3+
import core.Structure;
54

65
import java.util.HashMap;
76

@@ -11,8 +10,8 @@ public Clear(){
1110
}
1211

1312
public final void execute(HashMap<String, String> args){
14-
Reciver reciver = new Reciver();
15-
reciver.clearCollection();
13+
Structure structure = new Structure();
14+
structure.clearCollection();
1615
System.out.println("Success");
1716
}
1817
}
Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,30 @@
11
package commands;
22

3+
import core.Engine;
34
import exceptions.FileProcessorException;
4-
import textWorkers.Invokers.FileInvoker;
5+
import textWorkers.invokers.CLInvoker;
6+
import textWorkers.invokers.FileInvoker;
57

68
import java.util.HashMap;
79

810
public class Execute extends BasicCommand {
911
public Execute() {
1012
super("execute_script", "Takes commands from file." +
11-
"\n\t Example: execute_script -filename [String]");
13+
"\n\t Example: execute_script -abspath [String]");
1214
}
1315

14-
public final void execute(HashMap<String, String> args) {
15-
FileInvoker invoker = new FileInvoker();
16-
invoker.mainCycle();
16+
public final void execute(HashMap<String, String> args){
17+
try {
18+
Engine.setActiveInvoker(new FileInvoker(args.get("abspath")));
19+
new Engine().start();
20+
21+
}
22+
catch (FileProcessorException exc){
23+
System.out.print("fpe ");
24+
System.out.println(exc);
25+
}
26+
finally {
27+
Engine.setActiveInvoker(new CLInvoker());
28+
}
1729
}
1830
}

programming/sem2/lab5/src/commands/Exit.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package commands;
22

3-
import workers.Engine;
4-
53
import java.util.HashMap;
64

75
public class Exit extends BasicCommand{
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package commands;
2+
3+
import core.Structure;
4+
import objects.City;
5+
6+
import java.util.HashMap;
7+
8+
public class FilterStartsWithName extends BasicCommand{
9+
public FilterStartsWithName(){
10+
super("filter_starts_with_name", "Выводит элементы, значение поля name которых начинается с заданной подстроки" +
11+
"\n\t Example: filter_starts_with_name -name [String]");
12+
}
13+
14+
public final void execute(HashMap<String, String> args){
15+
Structure structure = new Structure();
16+
for (City elem: structure.getAllEntities()){
17+
if (elem.getName().indexOf(args.get("name")) == 0) {
18+
System.out.println(elem);
19+
}
20+
}
21+
}
22+
}

programming/sem2/lab5/src/commands/Help.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@
22

33
import java.util.HashMap;
44

5-
import commands.BasicCommand;
6-
7-
import commands.Info;
8-
import workers.Engine;
5+
import core.Engine;
96

107
public class Help extends BasicCommand{
118
public Help(){
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package commands;
22

3-
import workers.Reciver;
3+
import core.Structure;
44

55
import java.util.HashMap;
66

@@ -10,7 +10,7 @@ public Info(){
1010
}
1111

1212
public final void execute(HashMap<String, String> args){
13-
Reciver reciver = new Reciver();
14-
System.out.println(reciver);
13+
Structure structure = new Structure();
14+
System.out.println(structure);
1515
}
1616
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package commands;
2+
3+
import core.Structure;
4+
5+
import java.util.HashMap;
6+
7+
public class RemoveAllByStandardOfLiving extends BasicCommand{
8+
public RemoveAllByStandardOfLiving(){
9+
super("remove_all_by_standard_of_living", "Удаляет все элементы с заданным качеством жизни" +
10+
"\n\t Example: remove_all_by_standard_of_living -standardOfLiving [String]");
11+
}
12+
13+
public final void execute(HashMap<String, String> args){
14+
Structure structure = new Structure();
15+
structure.removeAllByStandardOfLiving(
16+
args.get("standardOfLiving")
17+
);
18+
}
19+
}

0 commit comments

Comments
 (0)