Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
b2c3ba7
Ega
blizzard-jr Mar 10, 2024
5f4b09a
new
blizzard-jr Mar 11, 2024
f57e573
new new
blizzard-jr Mar 11, 2024
fcd8cfe
neww
blizzard-jr Mar 13, 2024
d6043af
"the last one maybe"
blizzard-jr Mar 16, 2024
def1b07
one more
blizzard-jr Mar 16, 2024
bb18fad
change
blizzard-jr Mar 24, 2024
38a1d7f
last
blizzard-jr Mar 25, 2024
3e6d8c3
Create README.md
blizzard-jr Jan 19, 2026
4afc5c7
Update README.md
blizzard-jr Jan 19, 2026
9c8f97d
Update README.md
blizzard-jr Jan 20, 2026
929e86f
Update README.md
blizzard-jr Jan 20, 2026
82e4c12
Update README.md
blizzard-jr Jan 20, 2026
5f68230
Update README.md
blizzard-jr Jan 20, 2026
76a1dc4
Update README.md
blizzard-jr Jan 20, 2026
a9729ee
Update README.md
blizzard-jr Jan 20, 2026
82e74a1
Update README.md
blizzard-jr Jan 20, 2026
9946428
Update .gitignore
blizzard-jr Jan 20, 2026
4e90e28
Update .idea/.gitignore
blizzard-jr Jan 20, 2026
a8f1e04
Update .idea/encodings.xml
blizzard-jr Jan 20, 2026
9fc1778
Update .idea/misc.xml
blizzard-jr Jan 20, 2026
2328e85
Update .idea/vcs.xml
blizzard-jr Jan 20, 2026
77ef3b0
Update README.md
blizzard-jr Jan 20, 2026
47e8d5b
Update dependency-reduced-pom.xml
blizzard-jr Jan 20, 2026
e617635
Update pom.xml
blizzard-jr Jan 20, 2026
2f2906d
Update src/main/java/org/example/Main.java
blizzard-jr Jan 20, 2026
58897bd
Update src/main/java/org/example/classes/Color.java
blizzard-jr Jan 20, 2026
4e47d9f
Update src/main/java/org/example/classes/Coordinates.java
blizzard-jr Jan 20, 2026
f768452
Update src/main/java/org/example/classes/FormOfEducation.java
blizzard-jr Jan 20, 2026
f20b021
Update src/main/java/org/example/classes/Location.java
blizzard-jr Jan 20, 2026
27e06a6
Update src/main/java/org/example/classes/Person.java
blizzard-jr Jan 20, 2026
b490b6f
Update src/main/java/org/example/classes/Semester.java
blizzard-jr Jan 20, 2026
6098e7c
Update src/main/java/org/example/classes/StudyGroup.java
blizzard-jr Jan 20, 2026
e1dd463
Update src/main/java/org/example/commands/Clear.java
blizzard-jr Jan 20, 2026
f023a2d
Update src/main/java/org/example/commands/Command.java
blizzard-jr Jan 20, 2026
9ff94a4
Update src/main/java/org/example/commands/CommandsManager.java
blizzard-jr Jan 20, 2026
b1a8f99
Update src/main/java/org/example/commands/Count_less_than_form_of_edu…
blizzard-jr Jan 20, 2026
d137712
Update src/main/java/org/example/commands/Execute_script.java
blizzard-jr Jan 20, 2026
36eac5c
Update src/main/java/org/example/commands/Exit.java
blizzard-jr Jan 20, 2026
d460ec8
Update src/main/java/org/example/commands/Filter_by_students_count.java
blizzard-jr Jan 20, 2026
a940c5e
Update src/main/java/org/example/commands/Filter_less_than_form_of_ed…
blizzard-jr Jan 20, 2026
6fb45d2
Update src/main/java/org/example/commands/Help.java
blizzard-jr Jan 20, 2026
e4bf026
Update src/main/java/org/example/commands/History.java
blizzard-jr Jan 20, 2026
6b6de47
Update src/main/java/org/example/commands/Info.java
blizzard-jr Jan 20, 2026
c7a75d3
Update src/main/java/org/example/commands/InsertNull.java
blizzard-jr Jan 20, 2026
39c4152
Update src/main/java/org/example/commands/Remove_greater.java
blizzard-jr Jan 20, 2026
c65057d
Update src/main/java/org/example/commands/Remove_key.java
blizzard-jr Jan 20, 2026
bc9390d
Update src/main/java/org/example/commands/Remove_lower_key.java
blizzard-jr Jan 20, 2026
6e59872
Update src/main/java/org/example/commands/Save.java
blizzard-jr Jan 20, 2026
bd61746
Update src/main/java/org/example/commands/Show.java
blizzard-jr Jan 20, 2026
6e4fab9
Update src/main/java/org/example/commands/UpdateId.java
blizzard-jr Jan 20, 2026
d3ead1d
Update src/main/java/org/example/details/AnotherOneScript.txt
blizzard-jr Jan 20, 2026
187b00f
Update src/main/java/org/example/details/CollectionManager.java
blizzard-jr Jan 20, 2026
204c6f8
Update src/main/java/org/example/details/CommandScript.txt
blizzard-jr Jan 20, 2026
d9f2efe
Update src/main/java/org/example/details/Data.json
blizzard-jr Jan 20, 2026
c9a6695
Update src/main/java/org/example/details/FileSystem.java
blizzard-jr Jan 20, 2026
6f1668c
Update src/main/java/org/example/details/Storage.java
blizzard-jr Jan 20, 2026
f752ee5
Update src/main/java/org/example/details/StorageOfManagers.java
blizzard-jr Jan 20, 2026
5e80b5c
Update src/main/java/org/example/details/UserInterface.java
blizzard-jr Jan 20, 2026
f0b419c
Update src/main/java/org/example/exception/IllegalValueException.java
blizzard-jr Jan 20, 2026
33e5dc7
Update src/main/java/org/example/exception/NoSuchCommandException.java
blizzard-jr Jan 20, 2026
2bd3339
Add src/main/java/org/example/classes/Basket.java
blizzard-jr Jan 20, 2026
7ace216
Delete src/main/java/org/example/classes/Basket.java
blizzard-jr Jan 20, 2026
c720335
Add src/main/java/org/example/classes/Basket.java
blizzard-jr Jan 20, 2026
869bf16
Delete src/main/java/org/example/classes/Basket.java
blizzard-jr Jan 20, 2026
9a607c4
Update README.md
blizzard-jr Jan 20, 2026
68faeeb
Add src/main/java/org/example/classes/Basket.java
blizzard-jr Jan 20, 2026
5052c2a
Delete src/main/java/org/example/classes/Basket.java
blizzard-jr Jan 20, 2026
e126330
Add src/main/java/org/example/classes/Basket.java
blizzard-jr Jan 20, 2026
67fae77
Update src/main/java/org/example/classes/Basket.java
blizzard-jr Jan 20, 2026
770b9bf
Update src/main/java/org/example/classes/Basket.java
blizzard-jr Jan 20, 2026
952d9f9
Add src/main/java/org/example/classes/Friend.java
blizzard-jr Jan 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

15 changes: 12 additions & 3 deletions dependency-reduced-pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,17 @@
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>org.example.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.3</version>
Expand All @@ -22,9 +33,7 @@
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.6.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<show>private</show>
<sourcepath>src</sourcepath>
</configuration>
</plugin>
</plugins>
Expand Down
32 changes: 25 additions & 7 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,20 @@
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>org.example.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.3</version>
Expand All @@ -33,24 +44,31 @@
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.6.2</version>
<configuration>
<source>1.8</source>
<show>private</show>
<sourcepath>src</sourcepath>
</configuration>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.16.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.3</version>
<version>2.16.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.16.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.13.3</version>
<version>2.16.1</version>
</dependency>
</dependencies>

</project>
23 changes: 19 additions & 4 deletions src/main/java/org/example/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,33 @@
*/

public class Main {
//C:\\Users\\Кот\\IdeaProjects\\ProgLab5\\src\\details\\CommandScript.txt
//"C:\\Users\\Кот\\IdeaProjects\\ProgLab5\\src\\details\\Data.json");
//C:\Temp\Programming5Lab\src\main\java\org\example\details\CommandScript.txt
//"C:\Temp\Programming5Lab\src\main\java\org\example\details\Data.json";
public static void main(String[] args) {
String fileName = "";
try{
fileName = args[0];
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("Кажется, вы забыли передать имя файла");
}
//Журнал КОД от яндекс, почитать
System.out.println(fileName);
Storage st = new Storage();
FileSystem file = new FileSystem();
UserInterface user = new UserInterface();
CommandsManager manage = new CommandsManager();
CollectionManager collection = new CollectionManager();
StorageOfManagers storageOfManagers = new StorageOfManagers(collection, user, file, manage, st);
LinkedHashMap<Integer, StudyGroup> map = user.readFile("Перед началом работы введите имя файла для инициализации коллекции: ");
LinkedHashMap<Integer, StudyGroup> map;
if(!fileName.isEmpty()){
map = user.readFile("Желаете инициализировать коллекцию из файла? \"Enter\" - Да; Another - Нет: ", fileName);
}
else{
System.out.println("Будет использована пустая коллекция");
map = new LinkedHashMap<>();
}
StorageOfManagers.storage.mapInit(map);
user.writeln("Файл обработан, коллекция инициализирована. Программа готова к работе");
user.writeln("Программа готова к работе");
while(user.hasNextLine()){
try {
manage.executeCommand(user.readWithMessage(""));
Expand Down
1 change: 1 addition & 0 deletions src/main/java/org/example/classes/Basket.java
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"name":"Basket.java","path":"src/Things/Basket.java","sha":"d6300749525629cad11240918f656ecb62bc9a94","size":200,"url":"https://api.github.com/repos/blizzard-jr/Lab3/contents/src/Things/Basket.java?ref=master","html_url":"https://github.com/blizzard-jr/Lab3/blob/master/src/Things/Basket.java","git_url":"https://api.github.com/repos/blizzard-jr/Lab3/git/blobs/d6300749525629cad11240918f656ecb62bc9a94","download_url":"https://raw.githubusercontent.com/blizzard-jr/Lab3/master/src/Things/Basket.java","type":"file","content":"cGFja2FnZSBUaGluZ3M7CgppbXBvcnQgVGhpbmdzLkluYW5pbWF0ZTsKaW1w\nb3J0IFRoaW5ncy5UaGluZzsKCnB1YmxpYyBjbGFzcyBCYXNrZXQgZXh0ZW5k\ncyBJbmFuaW1hdGUgaW1wbGVtZW50cyBUaGluZyB7CiAgICBwdWJsaWMgQmFz\na2V0KGludCB3LCBTdHJpbmcgYywgU3RyaW5nIG4pIHsKICAgICAgICBzdXBl\ncih3LCBjLCBuKTsKICAgIH0KfQo=\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/blizzard-jr/Lab3/contents/src/Things/Basket.java?ref=master","git":"https://api.github.com/repos/blizzard-jr/Lab3/git/blobs/d6300749525629cad11240918f656ecb62bc9a94","html":"https://github.com/blizzard-jr/Lab3/blob/master/src/Things/Basket.java"}}
4 changes: 2 additions & 2 deletions src/main/java/org/example/classes/Coordinates.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ public class Coordinates {
private double y; //Значение поля должно быть больше -574

public Coordinates(float x, double y){
this.x = x;
this.y = y;
setX(x);
setY(y);
}
public Coordinates(){}
public float getX(){
Expand Down
37 changes: 37 additions & 0 deletions src/main/java/org/example/classes/Friend.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package mumiytroll;

import Things.Jar;
import Things.ThingStatus;

public class Friend extends Trolls implements Minor_characters{
protected static TrollsEmotion generalEmotion;

@Override
public void initiatorOfScream(){
System.out.println(this.getName() + " закричал и все подхватили");
}

@Override
public void initiatorOfFill(Jar jar) {
System.out.println(this.getName() + " схватил банку из под варенья и они наполнили её волшебной водой");
jar.setJarStat(ThingStatus.FILLED);
}

@Override
public void initiatorOfBreak(Jar jar) {
System.out.println(this.getName() + " свитснул и они разбили её об нос лодки");
jar.setJarStat(ThingStatus.BROKEN);
}

public Friend(int x, int y, String name){
super(x, y, name);
}


@Override
public void goTravel() {
System.out.println(this.getName() + " отправился в путешествие");
}


}
4 changes: 2 additions & 2 deletions src/main/java/org/example/classes/Location.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ public class Location {
public Location(Long x, long y, int z, String name){
setName(name);
setX(x);
this.y = y;
this.z = z;
setY(y);
setZ(z);
}
public Location(){}
public void setX(Long x) {
Expand Down
17 changes: 12 additions & 5 deletions src/main/java/org/example/classes/StudyGroup.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@
import java.util.Objects;
import static org.example.details.StorageOfManagers.*;


/**
* Класс - объект коллекции
*/
public class StudyGroup implements Comparable<StudyGroup> {
private String name; //Поле не может быть null, Строка не может быть пустой
private long studentsCount; //Значение поля должно быть больше 0
Expand All @@ -24,12 +26,17 @@ public class StudyGroup implements Comparable<StudyGroup> {
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy-HH:mm:ss")
private java.time.LocalDateTime creationDate; //Поле не может быть null, Значение этого поля должно генерироваться автоматически
private final Long id; //Поле не может быть null, Значение поля должно быть больше 0, Значение этого поля должно быть уникальным, Значение этого поля должно генерироваться автоматически

public void setId(int id) {
this.id = (long) id;
}

private Long id; //Поле не может быть null, Значение поля должно быть больше 0, Значение этого поля должно быть уникальным, Значение этого поля должно генерироваться автоматически
private FormOfEducation formOfEducation; //Поле не может быть null
private Semester semesterEnum; //Поле не может быть null
private Person groupAdmin; //Поле может быть null


@JsonCreator
public StudyGroup(String name, long studentsCount, long shouldBeExpelled, Coordinates coordinates, FormOfEducation formOfEducation, Semester semesterEnum, Person groupAdmin) {
setName(name);
setStudentsCount(studentsCount);
Expand All @@ -51,7 +58,7 @@ public void setCreationDate(LocalDateTime creationDate) {

public void setName(String name) {
if(!collectionManager.validate(name, false)){
throw new IllegalValueException("Поле name не может быть пустым или равняться нулю");
throw new IllegalValueException("Поле name не может быть пустым");
}
else {
this.name = name;
Expand Down Expand Up @@ -156,7 +163,7 @@ public int compareTo(StudyGroup group){
}
@Override
public int hashCode(){
return Objects.hash(this.name, this.groupAdmin);
return Objects.hash(this.name, this.creationDate, this.id);
}


Expand Down
6 changes: 5 additions & 1 deletion src/main/java/org/example/commands/CommandsManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,15 @@ public Command getCommand(String s) throws NoSuchCommandException {
*/
public void executeCommand(String s) throws NoSuchCommandException {
String[] str = parseCommand(s);
Command command = getCommand(str[0]);
Command command = getCommand(str[0].toLowerCase());
commandList.add(str[0]);
String[] args = Arrays.copyOfRange(str, 1, str.length);
command.execute(args);
}
public void executeFullInsert(String[] data){
String[] str = parseCommand(data[0]);

}

public ArrayList<String> getCommandList() {
return commandList;
Expand Down
14 changes: 12 additions & 2 deletions src/main/java/org/example/commands/Execute_script.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,12 @@
import exception.NoSuchCommandException;

import java.io.*;
import java.util.HashSet;
import java.util.Set;

public class Execute_script extends Command{
Set<String> files = new HashSet<String>();

public Execute_script(){
super("execute_script", "Считать и исполнить скрипт из указанного файла. В скрипте содержатся команды в таком же виде, в котором их вводит пользователь в интерактивном режиме");
argumentCount = 1;
Expand All @@ -20,7 +24,13 @@ public void execute(String[] args) throws NoSuchCommandException {
} catch (FileNotFoundException e) {
throw new NoSuchCommandException("Ошибка в имени файла");
}
StorageOfManagers.collectionManager.execute_script(stream);
System.out.println("Выполнение скрипта завершено");
if(!files.contains(args[0])){
files.add(args[0]);
StorageOfManagers.collectionManager.execute_script(stream);
System.out.println("Выполнение скрипта завершено");
}
else{
throw new exception.IllegalValueException("Не не не, слишком бесконечно");
}
}
}
1 change: 0 additions & 1 deletion src/main/java/org/example/commands/Remove_key.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,5 @@ public void execute(String[] args) throws NoSuchCommandException {
throw new IllegalValueException("Ошибка в аргументе команды");
}
StorageOfManagers.collectionManager.remove(key);
System.out.println("Объект удалён успешно");
}
}
29 changes: 29 additions & 0 deletions src/main/java/org/example/details/AnotherOneScript.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
update 785 P444 44 4
дистанционное
первый
0
-141
Валера
45
264
белый
90
Ломо
52
-643
insert 476 J324 21 6
вечернее
четвёртый
-5
-2
Коля
76
52
чёрный
876
Кронва
1
-443
show
filter_less_than_form_of_education вечернее
save
Loading