From ee7d915190a1b4722cf5c2a06665f6b0082e0071 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 18 Sep 2022 20:44:11 +0300 Subject: [PATCH 1/4] attempt1 --- .../sber/mironov/ClientType/ClientType.java | 57 +++++++++++++++++ main/java/ru/sber/mironov/Clients/Client.java | 18 ++++++ .../sber/mironov/Clients/HoldingClient.java | 17 +++++ .../mironov/Clients/IndividualClient.java | 26 ++++++++ .../mironov/Clients/LegalEntityClient.java | 19 ++++++ .../ClientsJsonParser/ClientsJsonParser.java | 30 +++++++++ main/java/ru/sber/mironov/Main.java | 64 +++++++++++++++++++ main/resources/Clients.json | 1 + .../ClientsJsonParserTest.java | 36 +++++++++++ test/resources/Clients.json | 1 + 10 files changed, 269 insertions(+) create mode 100644 main/java/ru/sber/mironov/ClientType/ClientType.java create mode 100644 main/java/ru/sber/mironov/Clients/Client.java create mode 100644 main/java/ru/sber/mironov/Clients/HoldingClient.java create mode 100644 main/java/ru/sber/mironov/Clients/IndividualClient.java create mode 100644 main/java/ru/sber/mironov/Clients/LegalEntityClient.java create mode 100644 main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java create mode 100644 main/java/ru/sber/mironov/Main.java create mode 100644 main/resources/Clients.json create mode 100644 test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java create mode 100644 test/resources/Clients.json diff --git a/main/java/ru/sber/mironov/ClientType/ClientType.java b/main/java/ru/sber/mironov/ClientType/ClientType.java new file mode 100644 index 0000000..9a957a3 --- /dev/null +++ b/main/java/ru/sber/mironov/ClientType/ClientType.java @@ -0,0 +1,57 @@ +package ru.sber.mironov.ClientType; + +import org.json.JSONObject; +import ru.sber.mironov.Clients.Client; +import ru.sber.mironov.Clients.HoldingClient; +import ru.sber.mironov.Clients.IndividualClient; +import ru.sber.mironov.Clients.LegalEntityClient; + +import java.util.List; + +public enum ClientType { + INDIVIDUAL("INDIVIDUAL") { + private List parseClient(JSONObject client) { + String name = client.getString("name"); + String inn = client.getString("inn"); + return List.of(name, inn); + } + + public Client createClient(JSONObject client) { + return new IndividualClient(this.parseClient(client)); + } + }, + LEGAL_ENTITY("LEGAL_ENTITY") { + private List parseClient(JSONObject client) { + String name = client.getString("name"); + String inn = client.getString("inn"); + return List.of(name, inn); + } + + public Client createClient(JSONObject client) { + return new LegalEntityClient(this.parseClient(client)); + } + }, + HOLDING("HOLDING") { + List parseClient(JSONObject client) { + String name = client.getString("name"); + String inn = client.getString("inn"); + return List.of(name, inn); + } + + public Client createClient(JSONObject client) { + return new HoldingClient(parseClient(client)); + } + }; + public final String type; + + /*List parseClient(JSONObject client) { + String name = client.getString("name"); + String inn = client.getString("inn"); + return List.of(name, inn); + }*/ + ClientType(String description) { + this.type = description; + } + + public abstract Client createClient(JSONObject client); +} diff --git a/main/java/ru/sber/mironov/Clients/Client.java b/main/java/ru/sber/mironov/Clients/Client.java new file mode 100644 index 0000000..bef72d4 --- /dev/null +++ b/main/java/ru/sber/mironov/Clients/Client.java @@ -0,0 +1,18 @@ +package ru.sber.mironov.Clients; + +import ru.sber.mironov.ClientType.ClientType; + +public class Client { + public final String name; + public final String inn; + public final ClientType type; + + public Client(String name, String inn, ClientType type) { + this.name = name; + this.inn = inn; + this.type = type; + } + public String toString() { + return name.toString() + " " + inn.toString() + " " + type.type; + } +} diff --git a/main/java/ru/sber/mironov/Clients/HoldingClient.java b/main/java/ru/sber/mironov/Clients/HoldingClient.java new file mode 100644 index 0000000..a8f8e49 --- /dev/null +++ b/main/java/ru/sber/mironov/Clients/HoldingClient.java @@ -0,0 +1,17 @@ +package ru.sber.mironov.Clients; + + +import ru.sber.mironov.ClientType.ClientType; + +import java.util.List; + +public class HoldingClient extends Client { + public HoldingClient(String name, String inn, ClientType type) { + super(name, inn, type); + } + + public HoldingClient(List client) { + super((String) client.get(0), (String) client.get(1), ClientType.HOLDING); + } + +} diff --git a/main/java/ru/sber/mironov/Clients/IndividualClient.java b/main/java/ru/sber/mironov/Clients/IndividualClient.java new file mode 100644 index 0000000..1620f79 --- /dev/null +++ b/main/java/ru/sber/mironov/Clients/IndividualClient.java @@ -0,0 +1,26 @@ +package ru.sber.mironov.Clients; + +import org.json.JSONObject; +import ru.sber.mironov.ClientType.ClientType; + + +import java.util.List; + +public class IndividualClient extends Client { + + public IndividualClient(String name, String inn, ClientType type) { + super(name, inn, type); + } + + public IndividualClient(String description) { + super("Gera", "1688", ClientType.INDIVIDUAL); + } + + public IndividualClient(List client) { + super((String)client.get(0), (String)client.get(1), ClientType.INDIVIDUAL); + } + + private static void parse(JSONObject client) { + + } +} diff --git a/main/java/ru/sber/mironov/Clients/LegalEntityClient.java b/main/java/ru/sber/mironov/Clients/LegalEntityClient.java new file mode 100644 index 0000000..7f7a3f2 --- /dev/null +++ b/main/java/ru/sber/mironov/Clients/LegalEntityClient.java @@ -0,0 +1,19 @@ +package ru.sber.mironov.Clients; + + + +import ru.sber.mironov.ClientType.ClientType; + +import java.util.List; + +public class LegalEntityClient extends Client { + + + public LegalEntityClient(String name, String inn, ClientType type) { + super(name, inn, type); + } + + public LegalEntityClient(List client) { + super((String) client.get(0), (String) client.get(1), ClientType.LEGAL_ENTITY); + } +} diff --git a/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java b/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java new file mode 100644 index 0000000..0891b29 --- /dev/null +++ b/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java @@ -0,0 +1,30 @@ +package ru.sber.mironov.ClientsJsonParser; + +import org.apache.commons.io.FileUtils; +import org.json.JSONArray; +import org.json.JSONObject; +import ru.sber.mironov.ClientType.ClientType; +import ru.sber.mironov.Clients.Client; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; + +public class ClientsJsonParser { + public static ArrayList parseClientsJson(File file) throws IOException { + String content = FileUtils.readFileToString(file, "utf-8"); + JSONArray clients = new JSONArray(content); + //System.out.println(clients); + ArrayList people = new ArrayList<>(); + for (var o : clients) { + //System.out.println(o); + //System.out.println(o.toString()); + //JSONObject x = new JSONObject(o); + //System.out.println(((JSONObject) o).getString("ClientType")); + ClientType ct = ClientType.valueOf(((JSONObject) o).getString("ClientType")); + //System.out.println(ct.type); + people.add(ct.createClient((JSONObject) o)); + } + return people; + } +} diff --git a/main/java/ru/sber/mironov/Main.java b/main/java/ru/sber/mironov/Main.java new file mode 100644 index 0000000..271d6c0 --- /dev/null +++ b/main/java/ru/sber/mironov/Main.java @@ -0,0 +1,64 @@ +package ru.sber.mironov; + +import netscape.javascript.JSObject; +import org.json.JSONArray; +import org.json.JSONObject; +import ru.sber.mironov.ClientType.ClientType; +import ru.sber.mironov.Clients.Client; +import ru.sber.mironov.Clients.HoldingClient; +import ru.sber.mironov.Clients.IndividualClient; +import ru.sber.mironov.Clients.LegalEntityClient; +import ru.sber.mironov.ClientsJsonParser.ClientsJsonParser; + +import org.apache.commons.io.FileUtils; +import org.json.JSONObject; + +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class Main { + public static void main(String[] args) throws IOException { + + //ArrayList clients = (ArrayList) List.of(new IndividualClient("Alex", "1688", ClientType.INDIVIDUAL), + // new LegalEntityClient("Vadim", "1432", ClientType.LEGAL_ENTITY), + // new HoldingClient("Gera", "2001", ClientType.HOLDING)); + /*JSONObject first = new JSONObject(); + JSONObject second = new JSONObject(); + JSONObject third = new JSONObject(); + + first.put("name", "Alex"); + first.put("inn", "1688"); + first.put("ClientType", ClientType.INDIVIDUAL); + + second.put("name", "Vadim"); + second.put("inn", "1432"); + second.put("ClientType", ClientType.LEGAL_ENTITY); + + third.put("name", "Gera"); + third.put("inn", "2001"); + third.put("ClientType", ClientType.HOLDING); + + JSONArray arr = new JSONArray(); + arr.put(first); + arr.put(second); + arr.put(third);*/ + //Files.writeString(Paths.get("src/main/resources/Clients.json"), arr.toString()); + + File file = new File(args[0]); + var people = ClientsJsonParser.parseClientsJson(file); + for (Client x : people) { + System.out.println(x); + } + + } +} + + diff --git a/main/resources/Clients.json b/main/resources/Clients.json new file mode 100644 index 0000000..2d068ee --- /dev/null +++ b/main/resources/Clients.json @@ -0,0 +1 @@ +[{"ClientType":"INDIVIDUAL","name":"Alex","inn":"1688"},{"ClientType":"LEGAL_ENTITY","name":"Vadim","inn":"1432"},{"ClientType":"HOLDING","name":"Gera","inn":"2001"}] \ No newline at end of file diff --git a/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java b/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java new file mode 100644 index 0000000..13e60c5 --- /dev/null +++ b/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java @@ -0,0 +1,36 @@ +package ru.sber.mironov.ClientsJsonParser; + +import org.junit.Test; +import org.junit.Before; +import org.junit.After; +import org.junit.Assert; +import ru.sber.mironov.ClientType.ClientType; +import ru.sber.mironov.Clients.Client; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; + + +public class ClientsJsonParserTest { + private ArrayList people; + + @Before + public void setUpPeople() throws IOException { + String fileName = "./src/test/resources/Clients.json"; + File file = new File(fileName); + people = ClientsJsonParser.parseClientsJson(file); + } + + @After + public void tearDown() { + people.clear(); + } + + @Test + public void parseClientsJson() { + Assert.assertEquals(this.people.get(0).name, "Alex"); + Assert.assertEquals(this.people.get(0).inn, "1688"); + Assert.assertEquals(this.people.get(0).type, ClientType.INDIVIDUAL); + } +} \ No newline at end of file diff --git a/test/resources/Clients.json b/test/resources/Clients.json new file mode 100644 index 0000000..2d068ee --- /dev/null +++ b/test/resources/Clients.json @@ -0,0 +1 @@ +[{"ClientType":"INDIVIDUAL","name":"Alex","inn":"1688"},{"ClientType":"LEGAL_ENTITY","name":"Vadim","inn":"1432"},{"ClientType":"HOLDING","name":"Gera","inn":"2001"}] \ No newline at end of file From 6595aca29b2d0c17352d7b8b8ca88de044afe683 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 18 Sep 2022 21:05:34 +0300 Subject: [PATCH 2/4] fix structure --- build.gradle | 25 +++++++++++++++++++ .../sber/mironov/ClientType/ClientType.java | 0 .../java/ru/sber/mironov/Clients/Client.java | 0 .../sber/mironov/Clients/HoldingClient.java | 0 .../mironov/Clients/IndividualClient.java | 0 .../mironov/Clients/LegalEntityClient.java | 0 .../ClientsJsonParser/ClientsJsonParser.java | 0 .../main}/java/ru/sber/mironov/Main.java | 0 {main => src/main}/resources/Clients.json | 0 .../ClientsJsonParserTest.java | 0 {test => src/test}/resources/Clients.json | 0 11 files changed, 25 insertions(+) create mode 100644 build.gradle rename {main => src/main}/java/ru/sber/mironov/ClientType/ClientType.java (100%) rename {main => src/main}/java/ru/sber/mironov/Clients/Client.java (100%) rename {main => src/main}/java/ru/sber/mironov/Clients/HoldingClient.java (100%) rename {main => src/main}/java/ru/sber/mironov/Clients/IndividualClient.java (100%) rename {main => src/main}/java/ru/sber/mironov/Clients/LegalEntityClient.java (100%) rename {main => src/main}/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java (100%) rename {main => src/main}/java/ru/sber/mironov/Main.java (100%) rename {main => src/main}/resources/Clients.json (100%) rename {test => src/test}/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java (100%) rename {test => src/test}/resources/Clients.json (100%) diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..001bb83 --- /dev/null +++ b/build.gradle @@ -0,0 +1,25 @@ +plugins { + id 'java' +} + +group 'org.example' +version '1.0-SNAPSHOT' + +repositories { + mavenCentral() +} + +dependencies { + implementation 'org.json:json:20220320' + // https://mvnrepository.com/artifact/junit/junit + testImplementation group: 'junit', name: 'junit', version: '4.13.2' + + // https://mvnrepository.com/artifact/commons-io/commons-io + implementation group: 'commons-io', name: 'commons-io', version: '2.6' + +} + +test { + useJUnit() +} + diff --git a/main/java/ru/sber/mironov/ClientType/ClientType.java b/src/main/java/ru/sber/mironov/ClientType/ClientType.java similarity index 100% rename from main/java/ru/sber/mironov/ClientType/ClientType.java rename to src/main/java/ru/sber/mironov/ClientType/ClientType.java diff --git a/main/java/ru/sber/mironov/Clients/Client.java b/src/main/java/ru/sber/mironov/Clients/Client.java similarity index 100% rename from main/java/ru/sber/mironov/Clients/Client.java rename to src/main/java/ru/sber/mironov/Clients/Client.java diff --git a/main/java/ru/sber/mironov/Clients/HoldingClient.java b/src/main/java/ru/sber/mironov/Clients/HoldingClient.java similarity index 100% rename from main/java/ru/sber/mironov/Clients/HoldingClient.java rename to src/main/java/ru/sber/mironov/Clients/HoldingClient.java diff --git a/main/java/ru/sber/mironov/Clients/IndividualClient.java b/src/main/java/ru/sber/mironov/Clients/IndividualClient.java similarity index 100% rename from main/java/ru/sber/mironov/Clients/IndividualClient.java rename to src/main/java/ru/sber/mironov/Clients/IndividualClient.java diff --git a/main/java/ru/sber/mironov/Clients/LegalEntityClient.java b/src/main/java/ru/sber/mironov/Clients/LegalEntityClient.java similarity index 100% rename from main/java/ru/sber/mironov/Clients/LegalEntityClient.java rename to src/main/java/ru/sber/mironov/Clients/LegalEntityClient.java diff --git a/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java b/src/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java similarity index 100% rename from main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java rename to src/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java diff --git a/main/java/ru/sber/mironov/Main.java b/src/main/java/ru/sber/mironov/Main.java similarity index 100% rename from main/java/ru/sber/mironov/Main.java rename to src/main/java/ru/sber/mironov/Main.java diff --git a/main/resources/Clients.json b/src/main/resources/Clients.json similarity index 100% rename from main/resources/Clients.json rename to src/main/resources/Clients.json diff --git a/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java b/src/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java similarity index 100% rename from test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java rename to src/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java diff --git a/test/resources/Clients.json b/src/test/resources/Clients.json similarity index 100% rename from test/resources/Clients.json rename to src/test/resources/Clients.json From 652561c412e34f247f272c1a39edee0c1a982c22 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 21 Sep 2022 14:25:05 +0300 Subject: [PATCH 3/4] parse json by myself --- build.gradle | 5 -- .../sber/mironov/ClientType/ClientType.java | 19 +++--- .../mironov/Clients/IndividualClient.java | 5 +- .../ClientsJsonParser/ClientsJsonParser.java | 28 ++++++--- src/main/java/ru/sber/mironov/Main.java | 60 ++++++++++++------- .../mironov/MyJsonLibrary/MyJsonArray.java | 32 ++++++++++ .../mironov/MyJsonLibrary/MyJsonObject.java | 33 ++++++++++ .../ClientsJsonParserTest.java | 11 ++-- 8 files changed, 139 insertions(+), 54 deletions(-) create mode 100644 src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonArray.java create mode 100644 src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonObject.java diff --git a/build.gradle b/build.gradle index 001bb83..63d620b 100644 --- a/build.gradle +++ b/build.gradle @@ -10,13 +10,8 @@ repositories { } dependencies { - implementation 'org.json:json:20220320' // https://mvnrepository.com/artifact/junit/junit testImplementation group: 'junit', name: 'junit', version: '4.13.2' - - // https://mvnrepository.com/artifact/commons-io/commons-io - implementation group: 'commons-io', name: 'commons-io', version: '2.6' - } test { diff --git a/src/main/java/ru/sber/mironov/ClientType/ClientType.java b/src/main/java/ru/sber/mironov/ClientType/ClientType.java index 9a957a3..b07d2a4 100644 --- a/src/main/java/ru/sber/mironov/ClientType/ClientType.java +++ b/src/main/java/ru/sber/mironov/ClientType/ClientType.java @@ -1,44 +1,46 @@ package ru.sber.mironov.ClientType; -import org.json.JSONObject; + import ru.sber.mironov.Clients.Client; import ru.sber.mironov.Clients.HoldingClient; import ru.sber.mironov.Clients.IndividualClient; import ru.sber.mironov.Clients.LegalEntityClient; +import ru.sber.mironov.MyJsonLibrary.MyJsonObject; + import java.util.List; public enum ClientType { INDIVIDUAL("INDIVIDUAL") { - private List parseClient(JSONObject client) { + private List parseClient(MyJsonObject client) { String name = client.getString("name"); String inn = client.getString("inn"); return List.of(name, inn); } - public Client createClient(JSONObject client) { + public Client createClient(MyJsonObject client) { return new IndividualClient(this.parseClient(client)); } }, LEGAL_ENTITY("LEGAL_ENTITY") { - private List parseClient(JSONObject client) { + private List parseClient(MyJsonObject client) { String name = client.getString("name"); String inn = client.getString("inn"); return List.of(name, inn); } - public Client createClient(JSONObject client) { + public Client createClient(MyJsonObject client) { return new LegalEntityClient(this.parseClient(client)); } }, HOLDING("HOLDING") { - List parseClient(JSONObject client) { + List parseClient(MyJsonObject client) { String name = client.getString("name"); String inn = client.getString("inn"); return List.of(name, inn); } - public Client createClient(JSONObject client) { + public Client createClient(MyJsonObject client) { return new HoldingClient(parseClient(client)); } }; @@ -53,5 +55,6 @@ public Client createClient(JSONObject client) { this.type = description; } - public abstract Client createClient(JSONObject client); + public abstract Client createClient(MyJsonObject client); } + diff --git a/src/main/java/ru/sber/mironov/Clients/IndividualClient.java b/src/main/java/ru/sber/mironov/Clients/IndividualClient.java index 1620f79..96f686e 100644 --- a/src/main/java/ru/sber/mironov/Clients/IndividualClient.java +++ b/src/main/java/ru/sber/mironov/Clients/IndividualClient.java @@ -1,6 +1,6 @@ package ru.sber.mironov.Clients; -import org.json.JSONObject; + import ru.sber.mironov.ClientType.ClientType; @@ -20,7 +20,4 @@ public IndividualClient(List client) { super((String)client.get(0), (String)client.get(1), ClientType.INDIVIDUAL); } - private static void parse(JSONObject client) { - - } } diff --git a/src/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java b/src/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java index 0891b29..de57d46 100644 --- a/src/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java +++ b/src/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java @@ -1,19 +1,29 @@ package ru.sber.mironov.ClientsJsonParser; -import org.apache.commons.io.FileUtils; -import org.json.JSONArray; -import org.json.JSONObject; + import ru.sber.mironov.ClientType.ClientType; import ru.sber.mironov.Clients.Client; +import ru.sber.mironov.MyJsonLibrary.MyJsonArray; -import java.io.File; +import java.io.BufferedReader; +import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; public class ClientsJsonParser { - public static ArrayList parseClientsJson(File file) throws IOException { - String content = FileUtils.readFileToString(file, "utf-8"); - JSONArray clients = new JSONArray(content); + public static ArrayList parseClientsJson(String filePath) throws IOException { + StringBuilder fileData = new StringBuilder(); + BufferedReader reader = new BufferedReader( + new FileReader(filePath)); + char[] buf = new char[1024]; + int numRead = 0; + while ((numRead = reader.read(buf)) != -1) { + String readData = String.valueOf(buf, 0, numRead); + fileData.append(readData); + } + reader.close(); + String content = fileData.toString(); + MyJsonArray clients = new MyJsonArray(content); //System.out.println(clients); ArrayList people = new ArrayList<>(); for (var o : clients) { @@ -21,9 +31,9 @@ public static ArrayList parseClientsJson(File file) throws IOException { //System.out.println(o.toString()); //JSONObject x = new JSONObject(o); //System.out.println(((JSONObject) o).getString("ClientType")); - ClientType ct = ClientType.valueOf(((JSONObject) o).getString("ClientType")); + ClientType ct = ClientType.valueOf(o.getString("ClientType")); //System.out.println(ct.type); - people.add(ct.createClient((JSONObject) o)); + people.add(ct.createClient(o)); } return people; } diff --git a/src/main/java/ru/sber/mironov/Main.java b/src/main/java/ru/sber/mironov/Main.java index 271d6c0..36b4dda 100644 --- a/src/main/java/ru/sber/mironov/Main.java +++ b/src/main/java/ru/sber/mironov/Main.java @@ -1,31 +1,16 @@ package ru.sber.mironov; -import netscape.javascript.JSObject; -import org.json.JSONArray; -import org.json.JSONObject; -import ru.sber.mironov.ClientType.ClientType; -import ru.sber.mironov.Clients.Client; -import ru.sber.mironov.Clients.HoldingClient; -import ru.sber.mironov.Clients.IndividualClient; -import ru.sber.mironov.Clients.LegalEntityClient; import ru.sber.mironov.ClientsJsonParser.ClientsJsonParser; -import org.apache.commons.io.FileUtils; -import org.json.JSONObject; - -import java.io.File; -import java.io.FileReader; import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) throws IOException { + String[] a = {"1", "2", "3"}; + ArrayList q = new ArrayList<>(List.of(a)); + //ArrayList clients = (ArrayList) List.of(new IndividualClient("Alex", "1688", ClientType.INDIVIDUAL), // new LegalEntityClient("Vadim", "1432", ClientType.LEGAL_ENTITY), @@ -52,12 +37,43 @@ public static void main(String[] args) throws IOException { arr.put(third);*/ //Files.writeString(Paths.get("src/main/resources/Clients.json"), arr.toString()); - File file = new File(args[0]); - var people = ClientsJsonParser.parseClientsJson(file); - for (Client x : people) { - System.out.println(x); + /*String filePath = args[0]; + StringBuilder fileData = new StringBuilder(); + BufferedReader reader = new BufferedReader( + new FileReader(filePath)); + char[] buf = new char[1024]; + int numRead = 0; + while ((numRead = reader.read(buf)) != -1) { + String readData = String.valueOf(buf, 0, numRead); + fileData.append(readData); } + reader.close(); + String content = fileData.toString(); + System.out.println(content); + + Pattern pattern = Pattern.compile("\\{.+?}"); + Matcher matcher = pattern.matcher(content); + ArrayList c = new ArrayList<>(); + while (matcher.find()) { + c.add(content.substring(matcher.start(), matcher.end())); + System.out.println(content.substring(matcher.start(), matcher.end())); + } + + Pattern pattern1 = Pattern.compile("\".+?\":\".+?\""); + for (var s : c) { + Matcher matcher1 = pattern1.matcher(s); + while (matcher1.find()) { + System.out.println(s.substring(matcher1.start(), matcher1.end())); + String[] str = s.substring(matcher1.start(), matcher1.end()).split(":"); + for (int i = 0; i < 2; ++i) { + str[i] = str[i].substring(1, str[i].length() - 1); + } + System.out.println(Arrays.toString(str)); + } + }*/ + var people = ClientsJsonParser.parseClientsJson((args[0])); + System.out.println(people); } } diff --git a/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonArray.java b/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonArray.java new file mode 100644 index 0000000..c997bb1 --- /dev/null +++ b/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonArray.java @@ -0,0 +1,32 @@ +package ru.sber.mironov.MyJsonLibrary; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.function.Consumer; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class MyJsonArray implements Iterable { + ArrayList jsonObjects; + + public MyJsonArray(String content) { + ArrayList clients = new ArrayList<>(); + Pattern pattern = Pattern.compile("\\{.+?}"); + Matcher matcher = pattern.matcher(content); + + while (matcher.find()) { + clients.add(new MyJsonObject(content.substring(matcher.start(), matcher.end()))); + } + jsonObjects = clients; + } + + @Override + public Iterator iterator() { + return jsonObjects.iterator(); + } + + @Override + public void forEach(Consumer action) { + jsonObjects.forEach(action); + } +} diff --git a/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonObject.java b/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonObject.java new file mode 100644 index 0000000..e608d2f --- /dev/null +++ b/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonObject.java @@ -0,0 +1,33 @@ +package ru.sber.mironov.MyJsonLibrary; + +import java.util.HashMap; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class MyJsonObject { + private final Map map; + + public MyJsonObject(Map map) { + this.map = map; + } + + public MyJsonObject(String str) { + Map newMap = new HashMap<>(); + Pattern pattern = Pattern.compile("\".+?\":\".+?\""); + Matcher matcher = pattern.matcher(str); + while (matcher.find()) { + String[] s = str.substring(matcher.start(), matcher.end()).split(":"); + for(int i = 0; i < 2; ++i) { + s[i] = s[i].substring(1, s[i].length()-1); + } + + newMap.put(s[0], s[1]); + } + map = newMap; + } + + public String getString(String key) { + return map.get(key); + } +} diff --git a/src/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java b/src/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java index 13e60c5..379247f 100644 --- a/src/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java +++ b/src/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java @@ -1,13 +1,12 @@ package ru.sber.mironov.ClientsJsonParser; -import org.junit.Test; -import org.junit.Before; import org.junit.After; import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; import ru.sber.mironov.ClientType.ClientType; import ru.sber.mironov.Clients.Client; -import java.io.File; import java.io.IOException; import java.util.ArrayList; @@ -17,9 +16,9 @@ public class ClientsJsonParserTest { @Before public void setUpPeople() throws IOException { - String fileName = "./src/test/resources/Clients.json"; - File file = new File(fileName); - people = ClientsJsonParser.parseClientsJson(file); + String fileName = "src/test/resources/Clients.json"; + + people = ClientsJsonParser.parseClientsJson(fileName); } @After From e0b062045223b8e43a9e8db7c68f3f0afd358b73 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 16 Oct 2022 14:24:26 +0300 Subject: [PATCH 4/4] fixed List -> Map, fixed json parsing --- .../sber/mironov/ClientType/ClientType.java | 41 ++------ .../java/ru/sber/mironov/Clients/Client.java | 30 +++++- .../sber/mironov/Clients/HoldingClient.java | 16 ++-- .../mironov/Clients/IndividualClient.java | 17 ++-- .../mironov/Clients/LegalEntityClient.java | 17 ++-- .../ClientsJsonParser/ClientsJsonParser.java | 23 ++--- src/main/java/ru/sber/mironov/Main.java | 95 +++++++------------ .../mironov/MyJsonLibrary/MyJsonArray.java | 24 ++++- .../mironov/MyJsonLibrary/MyJsonObject.java | 19 ++-- src/main/resources/Clients.json | 21 +++- .../ClientsJsonParserTest.java | 12 ++- src/test/resources/Clients.json | 21 +++- 12 files changed, 182 insertions(+), 154 deletions(-) diff --git a/src/main/java/ru/sber/mironov/ClientType/ClientType.java b/src/main/java/ru/sber/mironov/ClientType/ClientType.java index b07d2a4..3247a12 100644 --- a/src/main/java/ru/sber/mironov/ClientType/ClientType.java +++ b/src/main/java/ru/sber/mironov/ClientType/ClientType.java @@ -8,52 +8,25 @@ import ru.sber.mironov.MyJsonLibrary.MyJsonObject; +import java.util.HashMap; import java.util.List; public enum ClientType { - INDIVIDUAL("INDIVIDUAL") { - private List parseClient(MyJsonObject client) { - String name = client.getString("name"); - String inn = client.getString("inn"); - return List.of(name, inn); - } - + INDIVIDUAL { public Client createClient(MyJsonObject client) { - return new IndividualClient(this.parseClient(client)); + return new IndividualClient(client); } }, - LEGAL_ENTITY("LEGAL_ENTITY") { - private List parseClient(MyJsonObject client) { - String name = client.getString("name"); - String inn = client.getString("inn"); - return List.of(name, inn); - } - + LEGAL_ENTITY { public Client createClient(MyJsonObject client) { - return new LegalEntityClient(this.parseClient(client)); + return new LegalEntityClient(client); } }, - HOLDING("HOLDING") { - List parseClient(MyJsonObject client) { - String name = client.getString("name"); - String inn = client.getString("inn"); - return List.of(name, inn); - } - + HOLDING { public Client createClient(MyJsonObject client) { - return new HoldingClient(parseClient(client)); + return new HoldingClient(client); } }; - public final String type; - - /*List parseClient(JSONObject client) { - String name = client.getString("name"); - String inn = client.getString("inn"); - return List.of(name, inn); - }*/ - ClientType(String description) { - this.type = description; - } public abstract Client createClient(MyJsonObject client); } diff --git a/src/main/java/ru/sber/mironov/Clients/Client.java b/src/main/java/ru/sber/mironov/Clients/Client.java index bef72d4..a3c002f 100644 --- a/src/main/java/ru/sber/mironov/Clients/Client.java +++ b/src/main/java/ru/sber/mironov/Clients/Client.java @@ -1,18 +1,40 @@ package ru.sber.mironov.Clients; import ru.sber.mironov.ClientType.ClientType; +import ru.sber.mironov.MyJsonLibrary.MyJsonObject; + +import java.util.HashMap; public class Client { - public final String name; - public final String inn; - public final ClientType type; + private final String name; + private final String inn; + private final ClientType type; public Client(String name, String inn, ClientType type) { this.name = name; this.inn = inn; this.type = type; } + + public Client(MyJsonObject client) { + this.name = (String) client.getString("name"); + this.inn = (String) client.getString("inn"); + this.type = ClientType.valueOf(client.getString("ClientType")); + } + public String toString() { - return name.toString() + " " + inn.toString() + " " + type.type; + return name.toString() + " " + inn.toString() + " " + type; + } + + public String getName() { + return name; + } + + public String getInn() { + return inn; + } + + public ClientType getType() { + return type; } } diff --git a/src/main/java/ru/sber/mironov/Clients/HoldingClient.java b/src/main/java/ru/sber/mironov/Clients/HoldingClient.java index a8f8e49..3c34785 100644 --- a/src/main/java/ru/sber/mironov/Clients/HoldingClient.java +++ b/src/main/java/ru/sber/mironov/Clients/HoldingClient.java @@ -1,17 +1,17 @@ package ru.sber.mironov.Clients; -import ru.sber.mironov.ClientType.ClientType; - -import java.util.List; +import ru.sber.mironov.MyJsonLibrary.MyJsonObject; public class HoldingClient extends Client { - public HoldingClient(String name, String inn, ClientType type) { - super(name, inn, type); - } + private final double level; - public HoldingClient(List client) { - super((String) client.get(0), (String) client.get(1), ClientType.HOLDING); + public HoldingClient(MyJsonObject client) { + super(client); + level = Double.parseDouble(client.getString("level")); } + public double getLevel() { + return level; + } } diff --git a/src/main/java/ru/sber/mironov/Clients/IndividualClient.java b/src/main/java/ru/sber/mironov/Clients/IndividualClient.java index 96f686e..02089b1 100644 --- a/src/main/java/ru/sber/mironov/Clients/IndividualClient.java +++ b/src/main/java/ru/sber/mironov/Clients/IndividualClient.java @@ -2,22 +2,25 @@ import ru.sber.mironov.ClientType.ClientType; +import ru.sber.mironov.MyJsonLibrary.MyJsonObject; -import java.util.List; +import java.util.HashMap; public class IndividualClient extends Client { + private final int salary; - public IndividualClient(String name, String inn, ClientType type) { + public IndividualClient(String name, String inn, ClientType type, int salary) { super(name, inn, type); + this.salary = salary; } - public IndividualClient(String description) { - super("Gera", "1688", ClientType.INDIVIDUAL); + public IndividualClient(MyJsonObject client) { + super(client); + this.salary = Integer.parseInt(client.getString("salary")); } - public IndividualClient(List client) { - super((String)client.get(0), (String)client.get(1), ClientType.INDIVIDUAL); + public int getSalary() { + return salary; } - } diff --git a/src/main/java/ru/sber/mironov/Clients/LegalEntityClient.java b/src/main/java/ru/sber/mironov/Clients/LegalEntityClient.java index 7f7a3f2..3a2f3d5 100644 --- a/src/main/java/ru/sber/mironov/Clients/LegalEntityClient.java +++ b/src/main/java/ru/sber/mironov/Clients/LegalEntityClient.java @@ -1,19 +1,24 @@ package ru.sber.mironov.Clients; - import ru.sber.mironov.ClientType.ClientType; - -import java.util.List; +import ru.sber.mironov.MyJsonLibrary.MyJsonObject; public class LegalEntityClient extends Client { + private final Boolean realLegal; - public LegalEntityClient(String name, String inn, ClientType type) { + public LegalEntityClient(String name, String inn, ClientType type, Boolean realLegal) { super(name, inn, type); + this.realLegal = realLegal; + } + + public LegalEntityClient(MyJsonObject client) { + super(client); + realLegal = Boolean.parseBoolean(client.getString("realLegsl")); } - public LegalEntityClient(List client) { - super((String) client.get(0), (String) client.get(1), ClientType.LEGAL_ENTITY); + public Boolean getRealLegal() { + return realLegal; } } diff --git a/src/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java b/src/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java index de57d46..f49e8f5 100644 --- a/src/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java +++ b/src/main/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParser.java @@ -13,26 +13,21 @@ public class ClientsJsonParser { public static ArrayList parseClientsJson(String filePath) throws IOException { StringBuilder fileData = new StringBuilder(); - BufferedReader reader = new BufferedReader( - new FileReader(filePath)); - char[] buf = new char[1024]; - int numRead = 0; - while ((numRead = reader.read(buf)) != -1) { - String readData = String.valueOf(buf, 0, numRead); - fileData.append(readData); + + try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) { + char[] buf = new char[1024]; + int numRead; + while ((numRead = reader.read(buf)) != -1) { + String readData = String.valueOf(buf, 0, numRead); + fileData.append(readData); + } } - reader.close(); String content = fileData.toString(); MyJsonArray clients = new MyJsonArray(content); - //System.out.println(clients); + ArrayList people = new ArrayList<>(); for (var o : clients) { - //System.out.println(o); - //System.out.println(o.toString()); - //JSONObject x = new JSONObject(o); - //System.out.println(((JSONObject) o).getString("ClientType")); ClientType ct = ClientType.valueOf(o.getString("ClientType")); - //System.out.println(ct.type); people.add(ct.createClient(o)); } return people; diff --git a/src/main/java/ru/sber/mironov/Main.java b/src/main/java/ru/sber/mironov/Main.java index 36b4dda..072d0cb 100644 --- a/src/main/java/ru/sber/mironov/Main.java +++ b/src/main/java/ru/sber/mironov/Main.java @@ -5,75 +5,46 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class Main { public static void main(String[] args) throws IOException { - String[] a = {"1", "2", "3"}; - ArrayList q = new ArrayList<>(List.of(a)); - - - //ArrayList clients = (ArrayList) List.of(new IndividualClient("Alex", "1688", ClientType.INDIVIDUAL), - // new LegalEntityClient("Vadim", "1432", ClientType.LEGAL_ENTITY), - // new HoldingClient("Gera", "2001", ClientType.HOLDING)); - /*JSONObject first = new JSONObject(); - JSONObject second = new JSONObject(); - JSONObject third = new JSONObject(); - - first.put("name", "Alex"); - first.put("inn", "1688"); - first.put("ClientType", ClientType.INDIVIDUAL); - - second.put("name", "Vadim"); - second.put("inn", "1432"); - second.put("ClientType", ClientType.LEGAL_ENTITY); - - third.put("name", "Gera"); - third.put("inn", "2001"); - third.put("ClientType", ClientType.HOLDING); - - JSONArray arr = new JSONArray(); - arr.put(first); - arr.put(second); - arr.put(third);*/ - //Files.writeString(Paths.get("src/main/resources/Clients.json"), arr.toString()); + /*String[] a = {"1", "2", "3"}; + ArrayList q = new ArrayList<>(List.of(a));*/ + String fileName = "src/main/resources/Clients.json"; + System.out.println(ClientsJsonParser.parseClientsJson(fileName)); + + /*String s = "[\n" + + " {\n" + + " \"ClientType\": \"INDIVIDUAL\",\n" + + " \"inn\": \"1688\",\n" + + " \"name\": \"Alex\",\n" + + " \"salary\": \"100\"\n" + + " },\n" + + " {\n" + + " \"ClientType\": \"LEGAL_ENTITY\",\n" + + " \"name\": \"Vadim\",\n" + + " \"inn\": \"1432\"\n" + + " },\n" + + " {\n" + + " \"ClientType\": \"HOLDING\",\n" + + " \"name\": \"Gera\",\n" + + " \"inn\": \"2001\"\n" + + " }\n" + + "]"; + String str = "{ { { {"; + Pattern p = Pattern.compile("\\{(\\s.+)+?}"); + Matcher m = p.matcher(s); + while (m.find()) { + System.out.println(s.substring(m.start(), m.end())); + }*/ + /*var people = ClientsJsonParser.parseClientsJson((args[0])); + System.out.println(people);*/ - /*String filePath = args[0]; - StringBuilder fileData = new StringBuilder(); - BufferedReader reader = new BufferedReader( - new FileReader(filePath)); - char[] buf = new char[1024]; - int numRead = 0; - while ((numRead = reader.read(buf)) != -1) { - String readData = String.valueOf(buf, 0, numRead); - fileData.append(readData); - } - reader.close(); - String content = fileData.toString(); - System.out.println(content); - Pattern pattern = Pattern.compile("\\{.+?}"); - Matcher matcher = pattern.matcher(content); - ArrayList c = new ArrayList<>(); - while (matcher.find()) { - c.add(content.substring(matcher.start(), matcher.end())); - System.out.println(content.substring(matcher.start(), matcher.end())); - } - Pattern pattern1 = Pattern.compile("\".+?\":\".+?\""); - for (var s : c) { - Matcher matcher1 = pattern1.matcher(s); - while (matcher1.find()) { - System.out.println(s.substring(matcher1.start(), matcher1.end())); - String[] str = s.substring(matcher1.start(), matcher1.end()).split(":"); - for (int i = 0; i < 2; ++i) { - str[i] = str[i].substring(1, str[i].length() - 1); - } - System.out.println(Arrays.toString(str)); - } - }*/ - var people = ClientsJsonParser.parseClientsJson((args[0])); - System.out.println(people); } } diff --git a/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonArray.java b/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonArray.java index c997bb1..ce728a7 100644 --- a/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonArray.java +++ b/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonArray.java @@ -1,7 +1,9 @@ package ru.sber.mironov.MyJsonLibrary; import java.util.ArrayList; +import java.util.Arrays; import java.util.Iterator; +import java.util.List; import java.util.function.Consumer; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -11,11 +13,8 @@ public class MyJsonArray implements Iterable { public MyJsonArray(String content) { ArrayList clients = new ArrayList<>(); - Pattern pattern = Pattern.compile("\\{.+?}"); - Matcher matcher = pattern.matcher(content); - - while (matcher.find()) { - clients.add(new MyJsonObject(content.substring(matcher.start(), matcher.end()))); + for (var x : getSubstrings(content)) { + clients.add(new MyJsonObject(content.substring(x.get(0), x.get(1)))); } jsonObjects = clients; } @@ -29,4 +28,19 @@ public Iterator iterator() { public void forEach(Consumer action) { jsonObjects.forEach(action); } + + private ArrayList> getSubstrings(String content) { + ArrayList> res = new ArrayList<>(); + int prev = 0; + int now = 0; + for (int i = 0; i < content.length(); i++) { + if (content.charAt(i) == '{') { + prev = i; + } else if (content.charAt(i) == '}') { + now = i + 1; + res.add(new ArrayList<>(List.of(prev, now))); + } + } + return res; + } } diff --git a/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonObject.java b/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonObject.java index e608d2f..4ffac9a 100644 --- a/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonObject.java +++ b/src/main/java/ru/sber/mironov/MyJsonLibrary/MyJsonObject.java @@ -14,15 +14,16 @@ public MyJsonObject(Map map) { public MyJsonObject(String str) { Map newMap = new HashMap<>(); - Pattern pattern = Pattern.compile("\".+?\":\".+?\""); - Matcher matcher = pattern.matcher(str); - while (matcher.find()) { - String[] s = str.substring(matcher.start(), matcher.end()).split(":"); - for(int i = 0; i < 2; ++i) { - s[i] = s[i].substring(1, s[i].length()-1); - } - - newMap.put(s[0], s[1]); + String[] strings = str.split(","); + for (var s : strings) { + String[] splitString = s.replace("\s", "") + .replace("{", "") + .replace("}", "") + .replace("\"", "") + .replace(",", "") + .replaceAll("[ \\f\\n\\r\\t\\v]", "") + .split(":"); + newMap.put(splitString[0], splitString[1]); } map = newMap; } diff --git a/src/main/resources/Clients.json b/src/main/resources/Clients.json index 2d068ee..388f389 100644 --- a/src/main/resources/Clients.json +++ b/src/main/resources/Clients.json @@ -1 +1,20 @@ -[{"ClientType":"INDIVIDUAL","name":"Alex","inn":"1688"},{"ClientType":"LEGAL_ENTITY","name":"Vadim","inn":"1432"},{"ClientType":"HOLDING","name":"Gera","inn":"2001"}] \ No newline at end of file +[ + { + "ClientType": "INDIVIDUAL", + "inn": "1688", + "name": "Alex", + "salary": 100 + }, + { + "ClientType": "LEGAL_ENTITY", + "name": "Vadim", + "inn": "1432", + "realLegal": false + }, + { + "ClientType": "HOLDING", + "name": "Gera", + "inn": "2001", + "level": 34.5 + } +] \ No newline at end of file diff --git a/src/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java b/src/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java index 379247f..37226af 100644 --- a/src/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java +++ b/src/test/java/ru/sber/mironov/ClientsJsonParser/ClientsJsonParserTest.java @@ -6,6 +6,9 @@ import org.junit.Test; import ru.sber.mironov.ClientType.ClientType; import ru.sber.mironov.Clients.Client; +import ru.sber.mironov.Clients.HoldingClient; +import ru.sber.mironov.Clients.IndividualClient; +import ru.sber.mironov.Clients.LegalEntityClient; import java.io.IOException; import java.util.ArrayList; @@ -28,8 +31,11 @@ public void tearDown() { @Test public void parseClientsJson() { - Assert.assertEquals(this.people.get(0).name, "Alex"); - Assert.assertEquals(this.people.get(0).inn, "1688"); - Assert.assertEquals(this.people.get(0).type, ClientType.INDIVIDUAL); + Assert.assertEquals(this.people.get(0).getName(), "Alex"); + Assert.assertEquals(this.people.get(0).getInn(), "1688"); + Assert.assertEquals(this.people.get(0).getType(), ClientType.INDIVIDUAL); + Assert.assertEquals(((IndividualClient) people.get(0)).getSalary(), 100); + Assert.assertEquals(((LegalEntityClient) people.get(1)).getRealLegal(), false); + assert (((HoldingClient) people.get(2)).getLevel() == 34.5); } } \ No newline at end of file diff --git a/src/test/resources/Clients.json b/src/test/resources/Clients.json index 2d068ee..388f389 100644 --- a/src/test/resources/Clients.json +++ b/src/test/resources/Clients.json @@ -1 +1,20 @@ -[{"ClientType":"INDIVIDUAL","name":"Alex","inn":"1688"},{"ClientType":"LEGAL_ENTITY","name":"Vadim","inn":"1432"},{"ClientType":"HOLDING","name":"Gera","inn":"2001"}] \ No newline at end of file +[ + { + "ClientType": "INDIVIDUAL", + "inn": "1688", + "name": "Alex", + "salary": 100 + }, + { + "ClientType": "LEGAL_ENTITY", + "name": "Vadim", + "inn": "1432", + "realLegal": false + }, + { + "ClientType": "HOLDING", + "name": "Gera", + "inn": "2001", + "level": 34.5 + } +] \ No newline at end of file