From d1bb67c5fdcde971906f4cad4d8895a102c79580 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 6 Feb 2019 16:57:02 +0200 Subject: [PATCH 01/41] =?UTF-8?q?=D0=94=D0=BE=D0=BC=D0=B0=D1=88=D0=BD?= =?UTF-8?q?=D0=B5=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20HW1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ArrayStorage.java | 51 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/src/ArrayStorage.java b/src/ArrayStorage.java index 7aff0388..148abd96 100644 --- a/src/ArrayStorage.java +++ b/src/ArrayStorage.java @@ -1,3 +1,6 @@ +import java.util.ArrayList; +import java.util.List; + /** * Array based storage for Resumes */ @@ -5,26 +8,68 @@ public class ArrayStorage { Resume[] storage = new Resume[10000]; void clear() { + for (int i = 0; i < storage.length; i++) { + storage[i] = null; + } } void save(Resume r) { +// for (int i = 0; i Date: Wed, 6 Feb 2019 20:00:16 +0200 Subject: [PATCH 02/41] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BD=D0=BE:=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=BE=20=D0=BF=D0=BE=D0=BB=D0=B5=20siz?= =?UTF-8?q?e=20=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D1=8B=20?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D1=8B=20=D1=83=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=BB=20=D0=BA=D0=BE=D0=BB=D0=BB=D0=B5=D0=BA=D1=86=D0=B8=D1=8E?= =?UTF-8?q?.=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20=D1=84=D0=B8?= =?UTF-8?q?=D0=B3=D1=83=D1=80=D0=BD=D1=8B=D0=B5=20=D1=81=D0=BA=D0=BE=D0=B1?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ArrayStorage.java | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/ArrayStorage.java b/src/ArrayStorage.java index 148abd96..19c3e8cc 100644 --- a/src/ArrayStorage.java +++ b/src/ArrayStorage.java @@ -6,11 +6,13 @@ */ public class ArrayStorage { Resume[] storage = new Resume[10000]; + int size; void clear() { for (int i = 0; i < storage.length; i++) { storage[i] = null; } + size = 0; } void save(Resume r) { @@ -19,20 +21,22 @@ void save(Resume r) { // } // storage[size()] = r; + size++; } Resume get(String uuid) { Resume resume = null; - - for (int i = 0; i < storage.length; i++) { + for (int i = 0; i < storage.length; i++) { if (storage[i] == null) break; if (storage[i].toString() == uuid) { resume = storage[i]; break; } } - if (resume == null) resume = new Resume(); - resume.uuid = "not in the database"; + if (resume == null) { + resume = new Resume(); + resume.uuid = "not in the database"; + } return resume; } @@ -50,26 +54,26 @@ void delete(String uuid) { break; } } + size--; } /** * @return array, contains only Resumes in storage (without null) */ Resume[] getAll() { - List list = new ArrayList(); - for (int i = 0; i < storage.length; i++) { - if (storage[i] != null) list.add(storage[i]); + Resume[] resumes = new Resume[size]; + for (int i = 0; i < size; i++) { + resumes[i] = storage[i]; } - Resume[] resumes = new Resume[list.size()]; - list.toArray(resumes); return resumes; } int size() { - int count = 0; - for (int i = 0; i < storage.length; i++) { - if (storage[i] != null) count++; - } - return count; +// int count = 0; +// for (int i = 0; i < storage.length; i++) { +// if (storage[i] != null) count++; +// } +// + return size; } } From 92c29ee930882be70350ea7997388ab67a67336b Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 6 Feb 2019 20:32:40 +0200 Subject: [PATCH 03/41] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BD=D0=BE:=20=D0=97=D0=B0=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20storage.length=20=D0=BD=D0=B0=20size=20size()=20?= =?UTF-8?q?size=20storage[i]=20=3D=3D=20null=20=D1=83=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ArrayStorage.java | 33 ++++++--------------------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/src/ArrayStorage.java b/src/ArrayStorage.java index 19c3e8cc..d5ddb7a2 100644 --- a/src/ArrayStorage.java +++ b/src/ArrayStorage.java @@ -1,33 +1,23 @@ -import java.util.ArrayList; -import java.util.List; -/** - * Array based storage for Resumes - */ public class ArrayStorage { Resume[] storage = new Resume[10000]; int size; void clear() { - for (int i = 0; i < storage.length; i++) { + for (int i = 0; i < size; i++) { storage[i] = null; } size = 0; } void save(Resume r) { -// for (int i = 0; i Date: Wed, 6 Feb 2019 21:01:17 +0200 Subject: [PATCH 04/41] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BD=D0=BE:=20=D0=BC=D0=B5=D1=82=D0=BE?= =?UTF-8?q?=D0=B4=20get=20=D0=B2=D0=BE=D0=B7=D0=B2=D1=80=D0=B0=D1=89=D0=B0?= =?UTF-8?q?=D0=B5=D1=82=20null=20=D0=B5=D1=81=D0=BB=D0=B8=20=D0=BD=D0=B5?= =?UTF-8?q?=D1=87=D0=B5=D0=B3=D0=BE=20=D0=B2=D0=BE=D0=B7=D0=B2=D1=80=D0=B0?= =?UTF-8?q?=D1=89=D0=B0=D1=82=D1=8C=20delete=20=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=BA=D0=B0=20storage[j=20+=201]=20=20=D0=BE=D0=B1=D0=BD=D1=83?= =?UTF-8?q?=D0=BB=D1=8F=D1=82=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=D0=B4=D0=BD=D0=B5=D0=B5=20=D1=80?= =?UTF-8?q?=D0=B5=D0=B7=D1=8E=D0=BC=D0=B5=20size--;=20=D0=A3=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=8C=D1=88=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B8=D1=81=D1=85=D0=BE=D0=B4=D0=B8=D1=82=20=D1=82=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=BA=D0=BE=20=D0=B5=D1=81=D0=BB=D0=B8=20=D0=BE=D0=B1?= =?UTF-8?q?=D0=BD=D1=83=D0=BB=D0=B8=D0=BB=D0=BE=D1=81=D1=8C=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B7=D1=8E=D0=BC=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ArrayStorage.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/ArrayStorage.java b/src/ArrayStorage.java index d5ddb7a2..b171883e 100644 --- a/src/ArrayStorage.java +++ b/src/ArrayStorage.java @@ -23,25 +23,29 @@ Resume get(String uuid) { break; } } - if (resume == null) { - resume = new Resume(); - resume.uuid = "not in the database"; - } + return resume; } void delete(String uuid) { for (int i = 0; i < size; i++) { if (storage[i].toString() == uuid) { + storage[i] = null; + if (storage[i] == null) { + size--; + } + for (int j = i; j < size - 1; j++) { storage[j] = storage[j + 1]; - storage[j + 1] = null; + if (j == size - 2) { + storage[j + 1] = null; + } } break; } } - size--; + } Resume[] getAll() { From aae65905310fc53ef69ccfdd179cb7fdefbd9fd0 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 13 Feb 2019 12:42:37 +0200 Subject: [PATCH 05/41] Lesson03 abstract storage & sorted storage --- src/ArrayStorage.java | 62 ------------------- src/Resume.java | 13 ---- .../javawebinar/basejava}/MainArray.java | 23 +++++-- .../basejava}/MainTestArrayStorage.java | 19 +++--- src/ru/javawebinar/basejava/model/Resume.java | 43 +++++++++++++ .../storage/AbstractArrayStorage.java | 28 +++++++++ .../basejava/storage/ArrayStorage.java | 60 ++++++++++++++++++ .../basejava/storage/SortedArrayStorage.java | 39 ++++++++++++ .../javawebinar/basejava/storage/Storage.java | 20 ++++++ 9 files changed, 219 insertions(+), 88 deletions(-) delete mode 100644 src/ArrayStorage.java delete mode 100644 src/Resume.java rename src/{ => ru/javawebinar/basejava}/MainArray.java (77%) rename src/{ => ru/javawebinar/basejava}/MainTestArrayStorage.java (67%) create mode 100644 src/ru/javawebinar/basejava/model/Resume.java create mode 100644 src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java create mode 100644 src/ru/javawebinar/basejava/storage/ArrayStorage.java create mode 100644 src/ru/javawebinar/basejava/storage/SortedArrayStorage.java create mode 100644 src/ru/javawebinar/basejava/storage/Storage.java diff --git a/src/ArrayStorage.java b/src/ArrayStorage.java deleted file mode 100644 index b171883e..00000000 --- a/src/ArrayStorage.java +++ /dev/null @@ -1,62 +0,0 @@ - -public class ArrayStorage { - Resume[] storage = new Resume[10000]; - int size; - - void clear() { - for (int i = 0; i < size; i++) { - storage[i] = null; - } - size = 0; - } - - void save(Resume r) { - storage[size] = r; - size++; - } - - Resume get(String uuid) { - Resume resume = null; - for (int i = 0; i < size; i++) { - if (storage[i].toString() == uuid) { - resume = storage[i]; - break; - } - } - - return resume; - } - - void delete(String uuid) { - for (int i = 0; i < size; i++) { - if (storage[i].toString() == uuid) { - - storage[i] = null; - if (storage[i] == null) { - size--; - } - - for (int j = i; j < size - 1; j++) { - storage[j] = storage[j + 1]; - if (j == size - 2) { - storage[j + 1] = null; - } - } - break; - } - } - - } - - Resume[] getAll() { - Resume[] resumes = new Resume[size]; - for (int i = 0; i < size; i++) { - resumes[i] = storage[i]; - } - return resumes; - } - - int size() { - return size; - } -} diff --git a/src/Resume.java b/src/Resume.java deleted file mode 100644 index 8de4e4b8..00000000 --- a/src/Resume.java +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Initial resume class - */ -public class Resume { - - // Unique identifier - String uuid; - - @Override - public String toString() { - return uuid; - } -} diff --git a/src/MainArray.java b/src/ru/javawebinar/basejava/MainArray.java similarity index 77% rename from src/MainArray.java rename to src/ru/javawebinar/basejava/MainArray.java index b1cb33b7..595787c7 100644 --- a/src/MainArray.java +++ b/src/ru/javawebinar/basejava/MainArray.java @@ -1,19 +1,24 @@ +package ru.javawebinar.basejava; + +import ru.javawebinar.basejava.model.Resume; +import ru.javawebinar.basejava.storage.ArrayStorage; +import ru.javawebinar.basejava.storage.Storage; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** - * Interactive test for ArrayStorage implementation - * (just run, no need to understand) + * Test for ru.javawebinar.basejava.storage.ArrayStorage */ public class MainArray { - private final static ArrayStorage ARRAY_STORAGE = new ArrayStorage(); + private final static Storage ARRAY_STORAGE = new ArrayStorage(); public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); Resume r; while (true) { - System.out.print("Введите одну из команд - (list | save uuid | delete uuid | get uuid | clear | exit): "); + System.out.print("Введите одну из команд - (list | save uuid | delete uuid | get uuid | update uuid | clear | exit): "); String[] params = reader.readLine().trim().toLowerCase().split(" "); if (params.length < 1 || params.length > 2) { System.out.println("Неверная команда."); @@ -32,10 +37,16 @@ public static void main(String[] args) throws IOException { break; case "save": r = new Resume(); - r.uuid = uuid; + r.setUuid(uuid); ARRAY_STORAGE.save(r); printAll(); break; + case "update": + r = new Resume(); + r.setUuid(uuid); + ARRAY_STORAGE.update(r); + printAll(); + break; case "delete": ARRAY_STORAGE.delete(uuid); printAll(); @@ -68,4 +79,4 @@ static void printAll() { } System.out.println("----------------------------"); } -} \ No newline at end of file +} diff --git a/src/MainTestArrayStorage.java b/src/ru/javawebinar/basejava/MainTestArrayStorage.java similarity index 67% rename from src/MainTestArrayStorage.java rename to src/ru/javawebinar/basejava/MainTestArrayStorage.java index b15b81e2..406a3ebc 100644 --- a/src/MainTestArrayStorage.java +++ b/src/ru/javawebinar/basejava/MainTestArrayStorage.java @@ -1,28 +1,33 @@ +package ru.javawebinar.basejava; + +import ru.javawebinar.basejava.model.Resume; +import ru.javawebinar.basejava.storage.ArrayStorage; + /** - * Test for your ArrayStorage implementation + * Test ru.javawebinar.basejava.storage.ArrayStorage */ public class MainTestArrayStorage { static final ArrayStorage ARRAY_STORAGE = new ArrayStorage(); public static void main(String[] args) { Resume r1 = new Resume(); - r1.uuid = "uuid1"; + r1.setUuid("uuid1"); Resume r2 = new Resume(); - r2.uuid = "uuid2"; + r2.setUuid("uuid2"); Resume r3 = new Resume(); - r3.uuid = "uuid3"; + r3.setUuid("uuid3"); ARRAY_STORAGE.save(r1); ARRAY_STORAGE.save(r2); ARRAY_STORAGE.save(r3); - System.out.println("Get r1: " + ARRAY_STORAGE.get(r1.uuid)); + System.out.println("Get r1: " + ARRAY_STORAGE.get(r1.getUuid())); System.out.println("Size: " + ARRAY_STORAGE.size()); System.out.println("Get dummy: " + ARRAY_STORAGE.get("dummy")); printAll(); - ARRAY_STORAGE.delete(r1.uuid); + ARRAY_STORAGE.delete(r1.getUuid()); printAll(); ARRAY_STORAGE.clear(); printAll(); @@ -36,4 +41,4 @@ static void printAll() { System.out.println(r); } } -} +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/model/Resume.java b/src/ru/javawebinar/basejava/model/Resume.java new file mode 100644 index 00000000..e78c859f --- /dev/null +++ b/src/ru/javawebinar/basejava/model/Resume.java @@ -0,0 +1,43 @@ +package ru.javawebinar.basejava.model; + +/** + * ru.javawebinar.basejava.model.Resume class + */ +public class Resume implements Comparable{ + + // Unique identifier + private String uuid; + + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Resume resume = (Resume) o; + + return uuid.equals(resume.uuid); + } + + @Override + public int hashCode() { + return uuid.hashCode(); + } + + @Override + public String toString() { + return uuid; + } + + @Override + public int compareTo(Resume o) { + return uuid.compareTo(o.uuid); + } +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java new file mode 100644 index 00000000..580c00be --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java @@ -0,0 +1,28 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.model.Resume; + +/** + * Array based storage for Resumes + */ +public abstract class AbstractArrayStorage implements Storage { + protected static final int STORAGE_LIMIT = 10000; + + protected Resume[] storage = new Resume[STORAGE_LIMIT]; + protected int size = 0; + + public int size() { + return size; + } + + public Resume get(String uuid) { + int index = getIndex(uuid); + if (index == -1) { + System.out.println("Resume " + uuid + " not exist"); + return null; + } + return storage[index]; + } + + protected abstract int getIndex(String uuid); +} diff --git a/src/ru/javawebinar/basejava/storage/ArrayStorage.java b/src/ru/javawebinar/basejava/storage/ArrayStorage.java new file mode 100644 index 00000000..13aa7214 --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/ArrayStorage.java @@ -0,0 +1,60 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.model.Resume; + +import java.util.Arrays; + +/** + * Array based storage for Resumes + */ +public class ArrayStorage extends AbstractArrayStorage { + + public void clear() { + Arrays.fill(storage, 0, size, null); + size = 0; + } + + public void update(Resume r) { + int index = getIndex(r.getUuid()); + if (index == -1) { + System.out.println("Resume " + r.getUuid() + " not exist"); + } else { + storage[index] = r; + } + } + + public void save(Resume r) { + if (getIndex(r.getUuid()) != -1) { + System.out.println("Resume " + r.getUuid() + " already exist"); + } else if (size >= STORAGE_LIMIT) { + System.out.println("Storage overflow"); + } else { + storage[size] = r; + size++; + } + } + + public void delete(String uuid) { + int index = getIndex(uuid); + if (index == -1) { + System.out.println("Resume " + uuid + " not exist"); + } else { + storage[index] = storage[size - 1]; + storage[size - 1] = null; + size--; + } + } + + public Resume[] getAll() { + return Arrays.copyOfRange(storage, 0, size); + } + + protected int getIndex(String uuid) { + for (int i = 0; i < size; i++) { + if (uuid.equals(storage[i].getUuid())) { + return i; + } + } + return -1; + } +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java b/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java new file mode 100644 index 00000000..febcfaee --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java @@ -0,0 +1,39 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.model.Resume; + +import java.util.Arrays; + +public class SortedArrayStorage extends AbstractArrayStorage{ + @Override + public void clear() { + + } + + @Override + public void update(Resume r) { + + } + + @Override + public void save(Resume r) { + + } + + @Override + public void delete(String uuid) { + + } + + @Override + public Resume[] getAll() { + return new Resume[0]; + } + + @Override + protected int getIndex(String uuid) { + Resume searchKey = new Resume(); + searchKey.setUuid(uuid); + return Arrays.binarySearch(storage, 0, size, searchKey); + } +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/Storage.java b/src/ru/javawebinar/basejava/storage/Storage.java new file mode 100644 index 00000000..2f7a1d9e --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/Storage.java @@ -0,0 +1,20 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.model.Resume; + +public interface Storage { + + void clear(); + + void update(Resume r); + + void save(Resume r); + + Resume get(String uuid); + + void delete(String uuid); + + Resume[] getAll(); + + int size(); +} \ No newline at end of file From 0f74e5a71ee8e59b3eae5139477e82e817401366 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 13 Feb 2019 13:53:07 +0200 Subject: [PATCH 06/41] Lesson03 abstract storage & sorted storage --- src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java index 580c00be..a22a306e 100644 --- a/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java +++ b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java @@ -10,6 +10,7 @@ public abstract class AbstractArrayStorage implements Storage { protected Resume[] storage = new Resume[STORAGE_LIMIT]; protected int size = 0; + private final int anInt = 10000; public int size() { return size; From 72e15db4a37b8247f183c903f375ddc47d977fb4 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 13 Feb 2019 14:32:56 +0200 Subject: [PATCH 07/41] lesson04 HW03 --- .../storage/AbstractArrayStorage.java | 55 +++++++++++++++++-- .../basejava/storage/ArrayStorage.java | 45 +++------------ .../basejava/storage/SortedArrayStorage.java | 32 ++++------- 3 files changed, 70 insertions(+), 62 deletions(-) diff --git a/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java index a22a306e..fdf7084f 100644 --- a/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java +++ b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java @@ -1,7 +1,7 @@ package ru.javawebinar.basejava.storage; import ru.javawebinar.basejava.model.Resume; - +import java.util.Arrays; /** * Array based storage for Resumes */ @@ -10,20 +10,67 @@ public abstract class AbstractArrayStorage implements Storage { protected Resume[] storage = new Resume[STORAGE_LIMIT]; protected int size = 0; - private final int anInt = 10000; public int size() { return size; } + public void clear() { + Arrays.fill(storage, 0, size, null); + size = 0; + } + + public void update(Resume r) { + int index = getIndex(r.getUuid()); + if (index < 0) { + System.out.println("Resume " + r.getUuid() + " not exist"); + } else { + storage[index] = r; + } + } + + /** + * @return array, contains only Resumes in storage (without null) + */ + public Resume[] getAll() { + return Arrays.copyOfRange(storage, 0, size); + } + + public void save(Resume r) { + int index = getIndex(r.getUuid()); + if (index >= 0) { + System.out.println("Resume " + r.getUuid() + " already exist"); + } else if (size == STORAGE_LIMIT) { + System.out.println("Storage overflow"); + } else { + insertElement(r, index); + size++; + } + } + + public void delete(String uuid) { + int index = getIndex(uuid); + if (index < 0) { + System.out.println("Resume " + uuid + " not exist"); + } else { + fillDeletedElement(index); + storage[size - 1] = null; + size--; + } + } + public Resume get(String uuid) { int index = getIndex(uuid); - if (index == -1) { + if (index < 0) { System.out.println("Resume " + uuid + " not exist"); return null; } return storage[index]; } + protected abstract void fillDeletedElement(int index); + + protected abstract void insertElement(Resume r, int index); + protected abstract int getIndex(String uuid); -} +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/ArrayStorage.java b/src/ru/javawebinar/basejava/storage/ArrayStorage.java index 13aa7214..0a1297d3 100644 --- a/src/ru/javawebinar/basejava/storage/ArrayStorage.java +++ b/src/ru/javawebinar/basejava/storage/ArrayStorage.java @@ -2,53 +2,22 @@ import ru.javawebinar.basejava.model.Resume; -import java.util.Arrays; - /** * Array based storage for Resumes */ public class ArrayStorage extends AbstractArrayStorage { - public void clear() { - Arrays.fill(storage, 0, size, null); - size = 0; - } - - public void update(Resume r) { - int index = getIndex(r.getUuid()); - if (index == -1) { - System.out.println("Resume " + r.getUuid() + " not exist"); - } else { - storage[index] = r; - } - } - - public void save(Resume r) { - if (getIndex(r.getUuid()) != -1) { - System.out.println("Resume " + r.getUuid() + " already exist"); - } else if (size >= STORAGE_LIMIT) { - System.out.println("Storage overflow"); - } else { - storage[size] = r; - size++; - } - } - - public void delete(String uuid) { - int index = getIndex(uuid); - if (index == -1) { - System.out.println("Resume " + uuid + " not exist"); - } else { - storage[index] = storage[size - 1]; - storage[size - 1] = null; - size--; - } + @Override + protected void fillDeletedElement(int index) { + storage[index] = storage[size - 1]; } - public Resume[] getAll() { - return Arrays.copyOfRange(storage, 0, size); + @Override + protected void insertElement(Resume r, int index) { + storage[size] = r; } + @Override protected int getIndex(String uuid) { for (int i = 0; i < size; i++) { if (uuid.equals(storage[i].getUuid())) { diff --git a/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java b/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java index febcfaee..bdce05b3 100644 --- a/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java +++ b/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java @@ -4,30 +4,22 @@ import java.util.Arrays; -public class SortedArrayStorage extends AbstractArrayStorage{ - @Override - public void clear() { - - } +public class SortedArrayStorage extends AbstractArrayStorage { @Override - public void update(Resume r) { - + protected void fillDeletedElement(int index) { + int numMoved = size - index - 1; + if (numMoved > 0) { + System.arraycopy(storage, index + 1, storage, index, numMoved); + } } - @Override - public void save(Resume r) { - - } - - @Override - public void delete(String uuid) { - - } - - @Override - public Resume[] getAll() { - return new Resume[0]; + @Override + protected void insertElement(Resume r, int index) { +// http://codereview.stackexchange.com/questions/36221/binary-search-for-inserting-in-array#answer-36239 + int insertIdx = -index - 1; + System.arraycopy(storage, insertIdx, storage, insertIdx + 1, size - insertIdx); + storage[insertIdx] = r; } @Override From f15f4a9c74a9d7016dd13bfc97a6a0479bee9e87 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 13 Feb 2019 15:05:27 +0200 Subject: [PATCH 08/41] Lesson04 Exceptions --- src/ru/javawebinar/basejava/MainString.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/ru/javawebinar/basejava/MainString.java diff --git a/src/ru/javawebinar/basejava/MainString.java b/src/ru/javawebinar/basejava/MainString.java new file mode 100644 index 00000000..681b1896 --- /dev/null +++ b/src/ru/javawebinar/basejava/MainString.java @@ -0,0 +1,18 @@ +package ru.javawebinar.basejava; + +public class MainString { + public static void main(String[] args) { + String[] strArray = new String[]{"1", "2", "3", "4", "5"}; +// String result = ""; + StringBuilder sb = new StringBuilder(); + for (String str : strArray) { + sb.append(str).append(", "); + } + System.out.println(sb.toString()); + + String str1 = "abc"; + String str3 = "c"; + String str2 = ("ab" + str3).intern(); + System.out.println(str1 == str2); + } +} \ No newline at end of file From 4836e7052896c66bf30994d2d5b088739c144f7b Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 20 Feb 2019 10:22:28 +0200 Subject: [PATCH 09/41] =?UTF-8?q?Lesson04=20=20=D0=BF=D0=B0=D1=82=D1=87?= =?UTF-8?q?=D0=B8=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B6=D0=B5=D0=BD=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ru/javawebinar/basejava/MainArray.java | 8 +++----- src/ru/javawebinar/basejava/model/Resume.java | 16 +++++++++++----- .../basejava/storage/AbstractArrayStorage.java | 16 ++++++++++------ .../basejava/storage/SortedArrayStorage.java | 3 +-- .../basejava/storage}/MainTestArrayStorage.java | 9 +++------ 5 files changed, 28 insertions(+), 24 deletions(-) rename {src/ru/javawebinar/basejava => test/ru/javawebinar/basejava/storage}/MainTestArrayStorage.java (84%) diff --git a/src/ru/javawebinar/basejava/MainArray.java b/src/ru/javawebinar/basejava/MainArray.java index 595787c7..91253e0e 100644 --- a/src/ru/javawebinar/basejava/MainArray.java +++ b/src/ru/javawebinar/basejava/MainArray.java @@ -36,14 +36,12 @@ public static void main(String[] args) throws IOException { System.out.println(ARRAY_STORAGE.size()); break; case "save": - r = new Resume(); - r.setUuid(uuid); + r = new Resume(uuid); ARRAY_STORAGE.save(r); printAll(); break; case "update": - r = new Resume(); - r.setUuid(uuid); + r = new Resume(uuid); ARRAY_STORAGE.update(r); printAll(); break; @@ -79,4 +77,4 @@ static void printAll() { } System.out.println("----------------------------"); } -} +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/model/Resume.java b/src/ru/javawebinar/basejava/model/Resume.java index e78c859f..508cc20f 100644 --- a/src/ru/javawebinar/basejava/model/Resume.java +++ b/src/ru/javawebinar/basejava/model/Resume.java @@ -1,21 +1,27 @@ package ru.javawebinar.basejava.model; +import java.util.UUID; + /** * ru.javawebinar.basejava.model.Resume class */ -public class Resume implements Comparable{ +public class Resume implements Comparable { // Unique identifier - private String uuid; + private final String uuid; - public String getUuid() { - return uuid; + public Resume() { + this(UUID.randomUUID().toString()); } - public void setUuid(String uuid) { + public Resume(String uuid) { this.uuid = uuid; } + public String getUuid() { + return uuid; + } + @Override public boolean equals(Object o) { if (this == o) return true; diff --git a/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java index fdf7084f..a77ce8f6 100644 --- a/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java +++ b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java @@ -1,7 +1,12 @@ package ru.javawebinar.basejava.storage; +import ru.javawebinar.basejava.exception.ExistStorageException; +import ru.javawebinar.basejava.exception.NotExistStorageException; +import ru.javawebinar.basejava.exception.StorageException; import ru.javawebinar.basejava.model.Resume; + import java.util.Arrays; + /** * Array based storage for Resumes */ @@ -23,7 +28,7 @@ public void clear() { public void update(Resume r) { int index = getIndex(r.getUuid()); if (index < 0) { - System.out.println("Resume " + r.getUuid() + " not exist"); + throw new NotExistStorageException(r.getUuid()); } else { storage[index] = r; } @@ -39,9 +44,9 @@ public Resume[] getAll() { public void save(Resume r) { int index = getIndex(r.getUuid()); if (index >= 0) { - System.out.println("Resume " + r.getUuid() + " already exist"); + throw new ExistStorageException(r.getUuid()); } else if (size == STORAGE_LIMIT) { - System.out.println("Storage overflow"); + throw new StorageException("Storage overflow", r.getUuid()); } else { insertElement(r, index); size++; @@ -51,7 +56,7 @@ public void save(Resume r) { public void delete(String uuid) { int index = getIndex(uuid); if (index < 0) { - System.out.println("Resume " + uuid + " not exist"); + throw new NotExistStorageException(uuid); } else { fillDeletedElement(index); storage[size - 1] = null; @@ -62,8 +67,7 @@ public void delete(String uuid) { public Resume get(String uuid) { int index = getIndex(uuid); if (index < 0) { - System.out.println("Resume " + uuid + " not exist"); - return null; + throw new NotExistStorageException(uuid); } return storage[index]; } diff --git a/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java b/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java index bdce05b3..856c563d 100644 --- a/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java +++ b/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java @@ -24,8 +24,7 @@ protected void insertElement(Resume r, int index) { @Override protected int getIndex(String uuid) { - Resume searchKey = new Resume(); - searchKey.setUuid(uuid); + Resume searchKey = new Resume(uuid); return Arrays.binarySearch(storage, 0, size, searchKey); } } \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/MainTestArrayStorage.java b/test/ru/javawebinar/basejava/storage/MainTestArrayStorage.java similarity index 84% rename from src/ru/javawebinar/basejava/MainTestArrayStorage.java rename to test/ru/javawebinar/basejava/storage/MainTestArrayStorage.java index 406a3ebc..126c02c7 100644 --- a/src/ru/javawebinar/basejava/MainTestArrayStorage.java +++ b/test/ru/javawebinar/basejava/storage/MainTestArrayStorage.java @@ -10,12 +10,9 @@ public class MainTestArrayStorage { static final ArrayStorage ARRAY_STORAGE = new ArrayStorage(); public static void main(String[] args) { - Resume r1 = new Resume(); - r1.setUuid("uuid1"); - Resume r2 = new Resume(); - r2.setUuid("uuid2"); - Resume r3 = new Resume(); - r3.setUuid("uuid3"); + Resume r1 = new Resume("uuid1"); + Resume r2 = new Resume("uuid2"); + Resume r3 = new Resume("uuid3"); ARRAY_STORAGE.save(r1); ARRAY_STORAGE.save(r2); From d7dde1102a1231cfc4626ceea006994d8ec0bf12 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 20 Feb 2019 17:48:02 +0200 Subject: [PATCH 10/41] lesson05 HW04 --- .../javawebinar/basejava/MainReflection.java | 24 ++++ .../exception/ExistStorageException.java | 7 + .../exception/NotExistStorageException.java | 7 + .../basejava/exception/StorageException.java | 14 ++ .../storage/AbstractArrayStorageTest.java | 128 ++++++++++++++++++ .../basejava/storage/ArrayStorageTest.java | 9 ++ .../storage/SortedArrayStorageTest.java | 8 ++ 7 files changed, 197 insertions(+) create mode 100644 src/ru/javawebinar/basejava/MainReflection.java create mode 100644 src/ru/javawebinar/basejava/exception/ExistStorageException.java create mode 100644 src/ru/javawebinar/basejava/exception/NotExistStorageException.java create mode 100644 src/ru/javawebinar/basejava/exception/StorageException.java create mode 100644 test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java create mode 100644 test/ru/javawebinar/basejava/storage/ArrayStorageTest.java create mode 100644 test/ru/javawebinar/basejava/storage/SortedArrayStorageTest.java diff --git a/src/ru/javawebinar/basejava/MainReflection.java b/src/ru/javawebinar/basejava/MainReflection.java new file mode 100644 index 00000000..19821886 --- /dev/null +++ b/src/ru/javawebinar/basejava/MainReflection.java @@ -0,0 +1,24 @@ +package ru.javawebinar.basejava; + +import ru.javawebinar.basejava.model.Resume; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +public class MainReflection { + + public static void main(String[] args) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException { + Resume r = new Resume(); + Class resumeClass = r.getClass(); + Field field = resumeClass.getDeclaredFields()[0]; + field.setAccessible(true); + System.out.println(field.getName()); + System.out.println(field.get(r)); + field.set(r, "new_uuid"); + + Method method = resumeClass.getMethod("toString"); + Object result = method.invoke(r); + System.out.println(result); + } +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/exception/ExistStorageException.java b/src/ru/javawebinar/basejava/exception/ExistStorageException.java new file mode 100644 index 00000000..33d98be0 --- /dev/null +++ b/src/ru/javawebinar/basejava/exception/ExistStorageException.java @@ -0,0 +1,7 @@ +package ru.javawebinar.basejava.exception; + +public class ExistStorageException extends StorageException { + public ExistStorageException(String uuid) { + super("Resume " + uuid + " already exist", uuid); + } +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/exception/NotExistStorageException.java b/src/ru/javawebinar/basejava/exception/NotExistStorageException.java new file mode 100644 index 00000000..8e4dfff5 --- /dev/null +++ b/src/ru/javawebinar/basejava/exception/NotExistStorageException.java @@ -0,0 +1,7 @@ +package ru.javawebinar.basejava.exception; + +public class NotExistStorageException extends StorageException { + public NotExistStorageException(String uuid) { + super("Resume " + uuid + " not exist", uuid); + } +} diff --git a/src/ru/javawebinar/basejava/exception/StorageException.java b/src/ru/javawebinar/basejava/exception/StorageException.java new file mode 100644 index 00000000..dbd1be0a --- /dev/null +++ b/src/ru/javawebinar/basejava/exception/StorageException.java @@ -0,0 +1,14 @@ +package ru.javawebinar.basejava.exception; + +public class StorageException extends RuntimeException { + private final String uuid; + + public StorageException(String message, String uuid) { + super(message); + this.uuid = uuid; + } + + public String getUuid() { + return uuid; + } +} \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java new file mode 100644 index 00000000..afc5b923 --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java @@ -0,0 +1,128 @@ +package ru.javawebinar.basejava.storage; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import ru.javawebinar.basejava.exception.ExistStorageException; +import ru.javawebinar.basejava.exception.NotExistStorageException; +import ru.javawebinar.basejava.exception.StorageException; +import ru.javawebinar.basejava.model.Resume; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +public abstract class AbstractArrayStorageTest { + private Storage storage; + + private static final String UUID_1 = "uuid1"; + private static final Resume RESUME_1 = new Resume(UUID_1); + + private static final String UUID_2 = "uuid2"; + private static final Resume RESUME_2 = new Resume(UUID_2); + + private static final String UUID_3 = "uuid3"; + private static final Resume RESUME_3 = new Resume(UUID_3); + + private static final String UUID_4 = "uuid4"; + private static final Resume RESUME_4 = new Resume(UUID_4); + + protected AbstractArrayStorageTest(Storage storage) { + this.storage = storage; + } + + @Before + public void setUp() throws Exception { + storage.clear(); + storage.save(RESUME_1); + storage.save(RESUME_2); + storage.save(RESUME_3); + } + + @Test + public void size() throws Exception { + assertSize(3); + } + + @Test + public void clear() throws Exception { + storage.clear(); + assertSize(0); + } + + @Test + public void update() throws Exception { + Resume newResume = new Resume(UUID_1); + storage.update(newResume); + assertTrue(newResume == storage.get(UUID_1)); + } + + @Test(expected = NotExistStorageException.class) + public void updateNotExist() throws Exception { + storage.get("dummy"); + } + + @Test + public void getAll() throws Exception { + Resume[] array = storage.getAll(); + assertEquals(3, array.length); + assertEquals(RESUME_1, array[0]); + assertEquals(RESUME_2, array[1]); + assertEquals(RESUME_3, array[2]); + } + + @Test + public void save() throws Exception { + storage.save(RESUME_4); + assertSize(4); + assertGet(RESUME_4); + } + + @Test(expected = ExistStorageException.class) + public void saveExist() throws Exception { + storage.save(RESUME_1); + } + + @Test(expected = StorageException.class) + public void saveOverflow() throws Exception { + try { + for (int i = 4; i <= AbstractArrayStorage.STORAGE_LIMIT; i++) { + storage.save(new Resume()); + } + } catch (StorageException e) { + Assert.fail(); + } + storage.save(new Resume()); + } + + @Test(expected = NotExistStorageException.class) + public void delete() throws Exception { + storage.delete(UUID_1); + assertSize(2); + storage.get(UUID_1); + } + + @Test(expected = NotExistStorageException.class) + public void deleteNotExist() throws Exception { + storage.delete("dummy"); + } + + @Test + public void get() throws Exception { + assertGet(RESUME_1); + assertGet(RESUME_2); + assertGet(RESUME_3); + } + + @Test(expected = NotExistStorageException.class) + public void getNotExist() throws Exception { + storage.get("dummy"); + } + + private void assertGet(Resume r) { + assertEquals(r, storage.get(r.getUuid())); + } + + private void assertSize(int size) { + assertEquals(size, storage.size()); + } +} \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/ArrayStorageTest.java b/test/ru/javawebinar/basejava/storage/ArrayStorageTest.java new file mode 100644 index 00000000..c5903eed --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/ArrayStorageTest.java @@ -0,0 +1,9 @@ +package ru.javawebinar.basejava.storage; + +public class ArrayStorageTest extends AbstractArrayStorageTest { + + public ArrayStorageTest() { + super(new ArrayStorage()); + } + +} \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/SortedArrayStorageTest.java b/test/ru/javawebinar/basejava/storage/SortedArrayStorageTest.java new file mode 100644 index 00000000..dbad3bd1 --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/SortedArrayStorageTest.java @@ -0,0 +1,8 @@ +package ru.javawebinar.basejava.storage; + +public class SortedArrayStorageTest extends AbstractArrayStorageTest { + + public SortedArrayStorageTest() { + super(new SortedArrayStorage()); + } +} From f8cb1dc8c581df1d598f1e159065fb28913c9df8 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Tue, 26 Feb 2019 22:10:15 +0200 Subject: [PATCH 11/41] Lesson05 Static initializer block and Collections --- .../javawebinar/basejava/MainCollections.java | 58 +++++++++++++++++++ .../storage/AbstractArrayStorageTest.java | 21 ++++--- .../basejava/storage/ArrayStorageTest.java | 4 ++ 3 files changed, 75 insertions(+), 8 deletions(-) create mode 100644 src/ru/javawebinar/basejava/MainCollections.java diff --git a/src/ru/javawebinar/basejava/MainCollections.java b/src/ru/javawebinar/basejava/MainCollections.java new file mode 100644 index 00000000..d51eaceb --- /dev/null +++ b/src/ru/javawebinar/basejava/MainCollections.java @@ -0,0 +1,58 @@ +package ru.javawebinar.basejava; + +import ru.javawebinar.basejava.model.Resume; + +import java.util.*; + +public class MainCollections { + private static final String UUID_1 = "uuid1"; + private static final Resume RESUME_1 = new Resume(UUID_1); + + private static final String UUID_2 = "uuid2"; + private static final Resume RESUME_2 = new Resume(UUID_2); + + private static final String UUID_3 = "uuid3"; + private static final Resume RESUME_3 = new Resume(UUID_3); + + private static final String UUID_4 = "uuid4"; + private static final Resume RESUME_4 = new Resume(UUID_4); + + public static void main(String[] args) { + Collection collection = new ArrayList<>(); + collection.add(RESUME_1); + collection.add(RESUME_2); + collection.add(RESUME_3); + + for (Resume r : collection) { + System.out.println(r); + if (Objects.equals(r.getUuid(), UUID_1)) { +// collection.remove(r); + } + } + + Iterator iterator = collection.iterator(); + while (iterator.hasNext()) { + Resume r = iterator.next(); + System.out.println(r); + if (Objects.equals(r.getUuid(), UUID_1)) { + iterator.remove(); + } + } + System.out.println(collection.toString()); + + + Map map = new HashMap<>(); + map.put(UUID_1, RESUME_1); + map.put(UUID_2, RESUME_2); + map.put(UUID_3, RESUME_3); + + // Bad! + for (String uuid : map.keySet()) { + System.out.println(map.get(uuid)); + } + + for (Map.Entry entry : map.entrySet()) { + System.out.println(entry.getValue()); + } + } +} diff --git a/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java index afc5b923..5485a446 100644 --- a/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java @@ -15,16 +15,21 @@ public abstract class AbstractArrayStorageTest { private Storage storage; private static final String UUID_1 = "uuid1"; - private static final Resume RESUME_1 = new Resume(UUID_1); - private static final String UUID_2 = "uuid2"; - private static final Resume RESUME_2 = new Resume(UUID_2); - private static final String UUID_3 = "uuid3"; - private static final Resume RESUME_3 = new Resume(UUID_3); - private static final String UUID_4 = "uuid4"; - private static final Resume RESUME_4 = new Resume(UUID_4); + + private static final Resume RESUME_1; + private static final Resume RESUME_2; + private static final Resume RESUME_3; + private static final Resume RESUME_4; + + static { + RESUME_1 = new Resume(UUID_1); + RESUME_2 = new Resume(UUID_2); + RESUME_3 = new Resume(UUID_3); + RESUME_4 = new Resume(UUID_4); + } protected AbstractArrayStorageTest(Storage storage) { this.storage = storage; @@ -85,7 +90,7 @@ public void saveExist() throws Exception { @Test(expected = StorageException.class) public void saveOverflow() throws Exception { try { - for (int i = 4; i <= AbstractArrayStorage.STORAGE_LIMIT; i++) { + for (int i = 4; i <= AbstractArrayStorage.STORAGE_LIMIT+1; i++) { storage.save(new Resume()); } } catch (StorageException e) { diff --git a/test/ru/javawebinar/basejava/storage/ArrayStorageTest.java b/test/ru/javawebinar/basejava/storage/ArrayStorageTest.java index c5903eed..5b5e8060 100644 --- a/test/ru/javawebinar/basejava/storage/ArrayStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/ArrayStorageTest.java @@ -6,4 +6,8 @@ public ArrayStorageTest() { super(new ArrayStorage()); } + @Override + public void saveOverflow() throws Exception { + super.saveOverflow(); + } } \ No newline at end of file From c2b2de21c4d080bfb3bdd0d33bc7e50fea13bb32 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 27 Feb 2019 13:26:26 +0200 Subject: [PATCH 12/41] Lesson06 --- .../javawebinar/basejava/MainCollections.java | 6 +- src/ru/javawebinar/basejava/model/Resume.java | 7 +- .../storage/AbstractArrayStorage.java | 47 +++--- .../basejava/storage/AbstractStorage.java | 56 ++++++++ .../basejava/storage/ArrayStorage.java | 3 +- .../basejava/storage/ListStorage.java | 60 ++++++++ .../basejava/storage/MainUtil.java | 14 ++ .../basejava/storage/MapUuidStorage.java | 56 ++++++++ .../basejava/storage/SortedArrayStorage.java | 20 ++- .../basejava/storage/AbstractStorageTest.java | 134 ++++++++++++++++++ 10 files changed, 363 insertions(+), 40 deletions(-) create mode 100644 src/ru/javawebinar/basejava/storage/AbstractStorage.java create mode 100644 src/ru/javawebinar/basejava/storage/ListStorage.java create mode 100644 src/ru/javawebinar/basejava/storage/MainUtil.java create mode 100644 src/ru/javawebinar/basejava/storage/MapUuidStorage.java create mode 100644 test/ru/javawebinar/basejava/storage/AbstractStorageTest.java diff --git a/src/ru/javawebinar/basejava/MainCollections.java b/src/ru/javawebinar/basejava/MainCollections.java index d51eaceb..c5ee9dfd 100644 --- a/src/ru/javawebinar/basejava/MainCollections.java +++ b/src/ru/javawebinar/basejava/MainCollections.java @@ -54,5 +54,9 @@ public static void main(String[] args) { for (Map.Entry entry : map.entrySet()) { System.out.println(entry.getValue()); } + + List resumes = Arrays.asList(RESUME_1, RESUME_2, RESUME_3); + resumes.remove(1); + System.out.println(resumes); } -} +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/model/Resume.java b/src/ru/javawebinar/basejava/model/Resume.java index 508cc20f..1398006a 100644 --- a/src/ru/javawebinar/basejava/model/Resume.java +++ b/src/ru/javawebinar/basejava/model/Resume.java @@ -5,7 +5,7 @@ /** * ru.javawebinar.basejava.model.Resume class */ -public class Resume implements Comparable { +public class Resume{ // Unique identifier private final String uuid; @@ -41,9 +41,4 @@ public int hashCode() { public String toString() { return uuid; } - - @Override - public int compareTo(Resume o) { - return uuid.compareTo(o.uuid); - } } \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java index a77ce8f6..16bfb171 100644 --- a/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java +++ b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java @@ -1,7 +1,5 @@ package ru.javawebinar.basejava.storage; -import ru.javawebinar.basejava.exception.ExistStorageException; -import ru.javawebinar.basejava.exception.NotExistStorageException; import ru.javawebinar.basejava.exception.StorageException; import ru.javawebinar.basejava.model.Resume; @@ -10,7 +8,7 @@ /** * Array based storage for Resumes */ -public abstract class AbstractArrayStorage implements Storage { +public abstract class AbstractArrayStorage extends AbstractStorage { protected static final int STORAGE_LIMIT = 10000; protected Resume[] storage = new Resume[STORAGE_LIMIT]; @@ -25,13 +23,9 @@ public void clear() { size = 0; } - public void update(Resume r) { - int index = getIndex(r.getUuid()); - if (index < 0) { - throw new NotExistStorageException(r.getUuid()); - } else { - storage[index] = r; - } + @Override + protected void doUpdate(Resume r, Object index) { + storage[(Integer) index] = r; } /** @@ -41,40 +35,35 @@ public Resume[] getAll() { return Arrays.copyOfRange(storage, 0, size); } - public void save(Resume r) { - int index = getIndex(r.getUuid()); - if (index >= 0) { - throw new ExistStorageException(r.getUuid()); - } else if (size == STORAGE_LIMIT) { + @Override + protected void doSave(Resume r, Object index) { + if (size == STORAGE_LIMIT) { throw new StorageException("Storage overflow", r.getUuid()); } else { - insertElement(r, index); + insertElement(r, (Integer) index); size++; } } - public void delete(String uuid) { - int index = getIndex(uuid); - if (index < 0) { - throw new NotExistStorageException(uuid); - } else { - fillDeletedElement(index); + @Override + public void doDelete(Object index) { + fillDeletedElement((Integer) index); storage[size - 1] = null; size--; } + + public Resume doGet(Object index) { + return storage[(Integer) index]; } - public Resume get(String uuid) { - int index = getIndex(uuid); - if (index < 0) { - throw new NotExistStorageException(uuid); - } - return storage[index]; + @Override + protected boolean isExist(Object index) { + return (Integer) index >= 0; } protected abstract void fillDeletedElement(int index); protected abstract void insertElement(Resume r, int index); - protected abstract int getIndex(String uuid); + protected abstract Integer getSearchKey(String uuid); } \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/AbstractStorage.java b/src/ru/javawebinar/basejava/storage/AbstractStorage.java new file mode 100644 index 00000000..750e8f69 --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/AbstractStorage.java @@ -0,0 +1,56 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.exception.ExistStorageException; +import ru.javawebinar.basejava.exception.NotExistStorageException; +import ru.javawebinar.basejava.model.Resume; + +public abstract class AbstractStorage implements Storage { + + protected abstract Object getSearchKey(String uuid); + + protected abstract void doUpdate(Resume r, Object searchKey); + + protected abstract boolean isExist(Object searchKey); + + protected abstract void doSave(Resume r, Object searchKey); + + protected abstract Resume doGet(Object searchKey); + + protected abstract void doDelete(Object searchKey); + + public void update(Resume r) { + Object searchKey = getExistedSearchKey(r.getUuid()); + doUpdate(r, searchKey); + } + + public void save(Resume r) { + Object searchKey = getNotExistedSearchKey(r.getUuid()); + doSave(r, searchKey); + } + + public void delete(String uuid) { + Object searchKey = getExistedSearchKey(uuid); + doDelete(searchKey); + } + + public Resume get(String uuid) { + Object searchKey = getExistedSearchKey(uuid); + return doGet(searchKey); + } + + private Object getExistedSearchKey(String uuid) { + Object searchKey = getSearchKey(uuid); + if (!isExist(searchKey)) { + throw new NotExistStorageException(uuid); + } + return searchKey; + } + + private Object getNotExistedSearchKey(String uuid) { + Object searchKey = getSearchKey(uuid); + if (isExist(searchKey)) { + throw new ExistStorageException(uuid); + } + return searchKey; + } +} diff --git a/src/ru/javawebinar/basejava/storage/ArrayStorage.java b/src/ru/javawebinar/basejava/storage/ArrayStorage.java index 0a1297d3..b9722d87 100644 --- a/src/ru/javawebinar/basejava/storage/ArrayStorage.java +++ b/src/ru/javawebinar/basejava/storage/ArrayStorage.java @@ -17,8 +17,7 @@ protected void insertElement(Resume r, int index) { storage[size] = r; } - @Override - protected int getIndex(String uuid) { + protected Integer getSearchKey(String uuid) { for (int i = 0; i < size; i++) { if (uuid.equals(storage[i].getUuid())) { return i; diff --git a/src/ru/javawebinar/basejava/storage/ListStorage.java b/src/ru/javawebinar/basejava/storage/ListStorage.java new file mode 100644 index 00000000..c32cf50e --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/ListStorage.java @@ -0,0 +1,60 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.model.Resume; + +import java.util.ArrayList; +import java.util.List; + +public class ListStorage extends AbstractStorage { + private List list = new ArrayList<>(); + + @Override + protected Integer getSearchKey(String uuid) { + for (int i = 0; i < list.size(); i++) { + if (list.get(i).getUuid().equals(uuid)) { + return i; + } + } + return null; + } + + @Override + protected boolean isExist(Object searchKey) { + return searchKey != null; + } + + @Override + protected void doUpdate(Resume r, Object searchKey) { + list.set((Integer) searchKey, r); + } + + @Override + protected void doSave(Resume r, Object searchKey) { + list.add(r); + } + + @Override + protected Resume doGet(Object searchKey) { + return list.get((Integer) searchKey); + } + + @Override + protected void doDelete(Object searchKey) { + list.remove(((Integer) searchKey).intValue()); + } + + @Override + public void clear() { + list.clear(); + } + + @Override + public Resume[] getAll() { + return list.toArray(new Resume[list.size()]); + } + + @Override + public int size() { + return list.size(); + } +} diff --git a/src/ru/javawebinar/basejava/storage/MainUtil.java b/src/ru/javawebinar/basejava/storage/MainUtil.java new file mode 100644 index 00000000..a4d21ddb --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/MainUtil.java @@ -0,0 +1,14 @@ +package ru.javawebinar.basejava.storage; + +public class MainUtil { + public static void main(String[] args) { + System.out.println(Integer.valueOf(-1) == Integer.valueOf(-1)); + System.out.println(Integer.valueOf(-1) == new Integer(-1)); + int result = getInt(); + System.out.println(result); + } + + private static Integer getInt() { + return null; + } +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/MapUuidStorage.java b/src/ru/javawebinar/basejava/storage/MapUuidStorage.java new file mode 100644 index 00000000..a551abdf --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/MapUuidStorage.java @@ -0,0 +1,56 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.model.Resume; + +import java.util.HashMap; +import java.util.Map; + +// TODO implement +// TODO create new MapStorage with search key not uuid +public class MapUuidStorage extends AbstractStorage { + private Map map = new HashMap<>(); + + @Override + protected String getSearchKey(String uuid) { + return uuid; + } + + @Override + protected void doUpdate(Resume r, Object searchKey) { + } + + @Override + protected boolean isExist(Object searchKey) { + return false; + } + + @Override + protected void doSave(Resume r, Object searchKey) { + + } + + @Override + protected Resume doGet(Object searchKey) { + return null; + } + + @Override + protected void doDelete(Object searchKey) { + + } + + @Override + public void clear() { + + } + + @Override + public Resume[] getAll() { + return new Resume[0]; + } + + @Override + public int size() { + return 0; + } +} diff --git a/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java b/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java index 856c563d..1f751d02 100644 --- a/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java +++ b/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java @@ -3,8 +3,24 @@ import ru.javawebinar.basejava.model.Resume; import java.util.Arrays; +import java.util.Comparator; public class SortedArrayStorage extends AbstractArrayStorage { +/* + private static class ResumeComparator implements Comparator { + @Override + public int compare(Resume o1, Resume o2) { + return o1.getUuid().compareTo(o2.getUuid()); + } + } +*/ + + private static final Comparator RESUME_COMPARATOR = new Comparator() { + @Override + public int compare(Resume o1, Resume o2) { + return o1.getUuid().compareTo(o2.getUuid()); + } + }; @Override protected void fillDeletedElement(int index) { @@ -23,8 +39,8 @@ protected void insertElement(Resume r, int index) { } @Override - protected int getIndex(String uuid) { + protected Integer getSearchKey(String uuid) { Resume searchKey = new Resume(uuid); - return Arrays.binarySearch(storage, 0, size, searchKey); + return Arrays.binarySearch(storage, 0, size, searchKey, RESUME_COMPARATOR); } } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java new file mode 100644 index 00000000..b6d6e163 --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java @@ -0,0 +1,134 @@ +package ru.javawebinar.basejava.storage; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import ru.javawebinar.basejava.exception.ExistStorageException; +import ru.javawebinar.basejava.exception.NotExistStorageException; +import ru.javawebinar.basejava.exception.StorageException; +import ru.javawebinar.basejava.model.Resume; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +public abstract class AbstractStorageTest { + private Storage storage; + + private static final String UUID_1 = "uuid1"; + private static final String UUID_2 = "uuid2"; + private static final String UUID_3 = "uuid3"; + private static final String UUID_4 = "uuid4"; + + private static final Resume RESUME_1; + private static final Resume RESUME_2; + private static final Resume RESUME_3; + private static final Resume RESUME_4; + + static { + RESUME_1 = new Resume(UUID_1); + RESUME_2 = new Resume(UUID_2); + RESUME_3 = new Resume(UUID_3); + RESUME_4 = new Resume(UUID_4); + } + + protected AbstractStorageTest(Storage storage) { + this.storage = storage; + } + + @Before + public void setUp() throws Exception { + storage.clear(); + storage.save(RESUME_1); + storage.save(RESUME_2); + storage.save(RESUME_3); + } + + @Test + public void size() throws Exception { + assertSize(3); + } + + @Test + public void clear() throws Exception { + storage.clear(); + assertSize(0); + } + + @Test + public void update() throws Exception { + Resume newResume = new Resume(UUID_1); + storage.update(newResume); + assertTrue(newResume == storage.get(UUID_1)); + } + + @Test(expected = NotExistStorageException.class) + public void updateNotExist() throws Exception { + storage.get("dummy"); + } + + @Test + public void getAll() throws Exception { + Resume[] array = storage.getAll(); + assertEquals(3, array.length); + assertEquals(RESUME_1, array[0]); + assertEquals(RESUME_2, array[1]); + assertEquals(RESUME_3, array[2]); + } + + @Test + public void save() throws Exception { + storage.save(RESUME_4); + assertSize(4); + assertGet(RESUME_4); + } + + @Test(expected = ExistStorageException.class) + public void saveExist() throws Exception { + storage.save(RESUME_1); + } + + // TODO remain only for Arrays implementations + @Test(expected = StorageException.class) + public void saveOverflow() throws Exception { + try { + for (int i = 4; i <= AbstractArrayStorage.STORAGE_LIMIT; i++) { + storage.save(new Resume()); + } + } catch (StorageException e) { + Assert.fail(); + } + storage.save(new Resume()); + } + + @Test(expected = NotExistStorageException.class) + public void delete() throws Exception { + storage.delete(UUID_1); + assertSize(2); + storage.get(UUID_1); + } + + @Test(expected = NotExistStorageException.class) + public void deleteNotExist() throws Exception { + storage.delete("dummy"); + } + + @Test + public void get() throws Exception { + assertGet(RESUME_1); + assertGet(RESUME_2); + assertGet(RESUME_3); + } + + @Test(expected = NotExistStorageException.class) + public void getNotExist() throws Exception { + storage.get("dummy"); + } + + private void assertGet(Resume r) { + assertEquals(r, storage.get(r.getUuid())); + } + + private void assertSize(int size) { + assertEquals(size, storage.size()); + } +} \ No newline at end of file From eb4185c754aae081b154cf75042908a1ba07dd6b Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 27 Feb 2019 15:26:37 +0200 Subject: [PATCH 13/41] Lesson06 Lambda --- src/ru/javawebinar/basejava/MainCollections.java | 2 +- .../javawebinar/basejava/storage/SortedArrayStorage.java | 7 +------ test/ru/javawebinar/basejava/storage/ListStorageTest.java | 8 ++++++++ 3 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 test/ru/javawebinar/basejava/storage/ListStorageTest.java diff --git a/src/ru/javawebinar/basejava/MainCollections.java b/src/ru/javawebinar/basejava/MainCollections.java index c5ee9dfd..e3880d99 100644 --- a/src/ru/javawebinar/basejava/MainCollections.java +++ b/src/ru/javawebinar/basejava/MainCollections.java @@ -51,7 +51,7 @@ public static void main(String[] args) { System.out.println(map.get(uuid)); } - for (Map.Entry entry : map.entrySet()) { + for (Map.Entry entry : map.entrySet()) {// Не рационально System.out.println(entry.getValue()); } diff --git a/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java b/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java index 1f751d02..d264e75f 100644 --- a/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java +++ b/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java @@ -15,12 +15,7 @@ public int compare(Resume o1, Resume o2) { } */ - private static final Comparator RESUME_COMPARATOR = new Comparator() { - @Override - public int compare(Resume o1, Resume o2) { - return o1.getUuid().compareTo(o2.getUuid()); - } - }; + private static final Comparator RESUME_COMPARATOR = (o1, o2) -> o1.getUuid().compareTo(o2.getUuid()); @Override protected void fillDeletedElement(int index) { diff --git a/test/ru/javawebinar/basejava/storage/ListStorageTest.java b/test/ru/javawebinar/basejava/storage/ListStorageTest.java new file mode 100644 index 00000000..07ae9d22 --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/ListStorageTest.java @@ -0,0 +1,8 @@ +package ru.javawebinar.basejava.storage; + +public class ListStorageTest extends AbstractStorageTest { + + public ListStorageTest() { + super(new ListStorage()); + } +} \ No newline at end of file From 3827dd1242ff3c86a94f123c4aeba8d9a8470302 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 27 Feb 2019 18:41:46 +0200 Subject: [PATCH 14/41] Lesson07_HW06 test refactoring --- .../storage/AbstractArrayStorageTest.java | 119 ++---------------- .../basejava/storage/AbstractStorageTest.java | 17 +-- .../basejava/storage/AllStorageTest.java | 20 +++ .../basejava/storage/ArrayStorageTest.java | 4 - .../basejava/storage/MapUuidStorageTest.java | 8 ++ .../storage/SortedArrayStorageTest.java | 2 +- 6 files changed, 37 insertions(+), 133 deletions(-) create mode 100644 test/ru/javawebinar/basejava/storage/AllStorageTest.java create mode 100644 test/ru/javawebinar/basejava/storage/MapUuidStorageTest.java diff --git a/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java index 5485a446..bb4ded5c 100644 --- a/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java @@ -1,96 +1,23 @@ package ru.javawebinar.basejava.storage; import org.junit.Assert; -import org.junit.Before; import org.junit.Test; -import ru.javawebinar.basejava.exception.ExistStorageException; -import ru.javawebinar.basejava.exception.NotExistStorageException; import ru.javawebinar.basejava.exception.StorageException; import ru.javawebinar.basejava.model.Resume; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -public abstract class AbstractArrayStorageTest { - private Storage storage; - - private static final String UUID_1 = "uuid1"; - private static final String UUID_2 = "uuid2"; - private static final String UUID_3 = "uuid3"; - private static final String UUID_4 = "uuid4"; - - private static final Resume RESUME_1; - private static final Resume RESUME_2; - private static final Resume RESUME_3; - private static final Resume RESUME_4; - - static { - RESUME_1 = new Resume(UUID_1); - RESUME_2 = new Resume(UUID_2); - RESUME_3 = new Resume(UUID_3); - RESUME_4 = new Resume(UUID_4); - } - +/** + * gkislin + * 12.06.2016 + */ +public abstract class AbstractArrayStorageTest extends AbstractStorageTest { protected AbstractArrayStorageTest(Storage storage) { - this.storage = storage; - } - - @Before - public void setUp() throws Exception { - storage.clear(); - storage.save(RESUME_1); - storage.save(RESUME_2); - storage.save(RESUME_3); - } - - @Test - public void size() throws Exception { - assertSize(3); - } - - @Test - public void clear() throws Exception { - storage.clear(); - assertSize(0); - } - - @Test - public void update() throws Exception { - Resume newResume = new Resume(UUID_1); - storage.update(newResume); - assertTrue(newResume == storage.get(UUID_1)); - } - - @Test(expected = NotExistStorageException.class) - public void updateNotExist() throws Exception { - storage.get("dummy"); - } - - @Test - public void getAll() throws Exception { - Resume[] array = storage.getAll(); - assertEquals(3, array.length); - assertEquals(RESUME_1, array[0]); - assertEquals(RESUME_2, array[1]); - assertEquals(RESUME_3, array[2]); - } - - @Test - public void save() throws Exception { - storage.save(RESUME_4); - assertSize(4); - assertGet(RESUME_4); - } - - @Test(expected = ExistStorageException.class) - public void saveExist() throws Exception { - storage.save(RESUME_1); + super(storage); } @Test(expected = StorageException.class) public void saveOverflow() throws Exception { try { - for (int i = 4; i <= AbstractArrayStorage.STORAGE_LIMIT+1; i++) { + for (int i = 4; i <= AbstractArrayStorage.STORAGE_LIMIT; i++) { storage.save(new Resume()); } } catch (StorageException e) { @@ -98,36 +25,4 @@ public void saveOverflow() throws Exception { } storage.save(new Resume()); } - - @Test(expected = NotExistStorageException.class) - public void delete() throws Exception { - storage.delete(UUID_1); - assertSize(2); - storage.get(UUID_1); - } - - @Test(expected = NotExistStorageException.class) - public void deleteNotExist() throws Exception { - storage.delete("dummy"); - } - - @Test - public void get() throws Exception { - assertGet(RESUME_1); - assertGet(RESUME_2); - assertGet(RESUME_3); - } - - @Test(expected = NotExistStorageException.class) - public void getNotExist() throws Exception { - storage.get("dummy"); - } - - private void assertGet(Resume r) { - assertEquals(r, storage.get(r.getUuid())); - } - - private void assertSize(int size) { - assertEquals(size, storage.size()); - } } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java index b6d6e163..b3a68f3e 100644 --- a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java @@ -1,18 +1,16 @@ package ru.javawebinar.basejava.storage; -import org.junit.Assert; import org.junit.Before; import org.junit.Test; import ru.javawebinar.basejava.exception.ExistStorageException; import ru.javawebinar.basejava.exception.NotExistStorageException; -import ru.javawebinar.basejava.exception.StorageException; import ru.javawebinar.basejava.model.Resume; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; public abstract class AbstractStorageTest { - private Storage storage; + protected Storage storage; private static final String UUID_1 = "uuid1"; private static final String UUID_2 = "uuid2"; @@ -87,19 +85,6 @@ public void saveExist() throws Exception { storage.save(RESUME_1); } - // TODO remain only for Arrays implementations - @Test(expected = StorageException.class) - public void saveOverflow() throws Exception { - try { - for (int i = 4; i <= AbstractArrayStorage.STORAGE_LIMIT; i++) { - storage.save(new Resume()); - } - } catch (StorageException e) { - Assert.fail(); - } - storage.save(new Resume()); - } - @Test(expected = NotExistStorageException.class) public void delete() throws Exception { storage.delete(UUID_1); diff --git a/test/ru/javawebinar/basejava/storage/AllStorageTest.java b/test/ru/javawebinar/basejava/storage/AllStorageTest.java new file mode 100644 index 00000000..be99860e --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/AllStorageTest.java @@ -0,0 +1,20 @@ +package ru.javawebinar.basejava.storage; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * gkislin + * 04.07.2016 + */ +@RunWith(Suite.class) +@Suite.SuiteClasses( + { + ArrayStorageTest.class, + SortedArrayStorageTest.class, + ListStorageTest.class, + MapUuidStorageTest.class, + }) +public class AllStorageTest { +} + diff --git a/test/ru/javawebinar/basejava/storage/ArrayStorageTest.java b/test/ru/javawebinar/basejava/storage/ArrayStorageTest.java index 5b5e8060..c5903eed 100644 --- a/test/ru/javawebinar/basejava/storage/ArrayStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/ArrayStorageTest.java @@ -6,8 +6,4 @@ public ArrayStorageTest() { super(new ArrayStorage()); } - @Override - public void saveOverflow() throws Exception { - super.saveOverflow(); - } } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/MapUuidStorageTest.java b/test/ru/javawebinar/basejava/storage/MapUuidStorageTest.java new file mode 100644 index 00000000..556dc591 --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/MapUuidStorageTest.java @@ -0,0 +1,8 @@ +package ru.javawebinar.basejava.storage; + +public class MapUuidStorageTest extends AbstractStorageTest { + + public MapUuidStorageTest() { + super(new MapUuidStorage()); + } +} diff --git a/test/ru/javawebinar/basejava/storage/SortedArrayStorageTest.java b/test/ru/javawebinar/basejava/storage/SortedArrayStorageTest.java index dbad3bd1..6720a801 100644 --- a/test/ru/javawebinar/basejava/storage/SortedArrayStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/SortedArrayStorageTest.java @@ -5,4 +5,4 @@ public class SortedArrayStorageTest extends AbstractArrayStorageTest { public SortedArrayStorageTest() { super(new SortedArrayStorage()); } -} +} \ No newline at end of file From b29450d987c65f3d2b5a3108eff8926cbb637433 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 27 Feb 2019 20:14:16 +0200 Subject: [PATCH 15/41] Lesson07_HW06 add fullName --- src/ru/javawebinar/basejava/MainArray.java | 18 +++++------ .../javawebinar/basejava/MainCollections.java | 10 +++---- .../javawebinar/basejava/MainReflection.java | 2 +- src/ru/javawebinar/basejava/model/Resume.java | 30 ++++++++++++++----- .../basejava/storage/SortedArrayStorage.java | 2 +- .../storage/AbstractArrayStorageTest.java | 4 +-- .../basejava/storage/AbstractStorageTest.java | 10 +++---- 7 files changed, 46 insertions(+), 30 deletions(-) diff --git a/src/ru/javawebinar/basejava/MainArray.java b/src/ru/javawebinar/basejava/MainArray.java index 91253e0e..e8d7669f 100644 --- a/src/ru/javawebinar/basejava/MainArray.java +++ b/src/ru/javawebinar/basejava/MainArray.java @@ -18,15 +18,15 @@ public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); Resume r; while (true) { - System.out.print("Введите одну из команд - (list | save uuid | delete uuid | get uuid | update uuid | clear | exit): "); + System.out.print("Введите одну из команд - (list | save fullName | delete uuid | get uuid | update uuid fullName | clear | exit): "); String[] params = reader.readLine().trim().toLowerCase().split(" "); - if (params.length < 1 || params.length > 2) { + if (params.length < 1 || params.length > 3) { System.out.println("Неверная команда."); continue; } - String uuid = null; - if (params.length == 2) { - uuid = params[1].intern(); + String param = null; + if (params.length > 1) { + param = params[1].intern(); } switch (params[0]) { case "list": @@ -36,21 +36,21 @@ public static void main(String[] args) throws IOException { System.out.println(ARRAY_STORAGE.size()); break; case "save": - r = new Resume(uuid); + r = new Resume(param); ARRAY_STORAGE.save(r); printAll(); break; case "update": - r = new Resume(uuid); + r = new Resume(param, params[2]); ARRAY_STORAGE.update(r); printAll(); break; case "delete": - ARRAY_STORAGE.delete(uuid); + ARRAY_STORAGE.delete(param); printAll(); break; case "get": - System.out.println(ARRAY_STORAGE.get(uuid)); + System.out.println(ARRAY_STORAGE.get(param)); break; case "clear": ARRAY_STORAGE.clear(); diff --git a/src/ru/javawebinar/basejava/MainCollections.java b/src/ru/javawebinar/basejava/MainCollections.java index e3880d99..11aab226 100644 --- a/src/ru/javawebinar/basejava/MainCollections.java +++ b/src/ru/javawebinar/basejava/MainCollections.java @@ -6,16 +6,16 @@ public class MainCollections { private static final String UUID_1 = "uuid1"; - private static final Resume RESUME_1 = new Resume(UUID_1); + private static final Resume RESUME_1 = new Resume(UUID_1, "Name1"); private static final String UUID_2 = "uuid2"; - private static final Resume RESUME_2 = new Resume(UUID_2); + private static final Resume RESUME_2 = new Resume(UUID_2, "Name2"); private static final String UUID_3 = "uuid3"; - private static final Resume RESUME_3 = new Resume(UUID_3); + private static final Resume RESUME_3 = new Resume(UUID_3, "Name3"); private static final String UUID_4 = "uuid4"; - private static final Resume RESUME_4 = new Resume(UUID_4); + private static final Resume RESUME_4 = new Resume(UUID_4, "Name4"); public static void main(String[] args) { Collection collection = new ArrayList<>(); @@ -51,7 +51,7 @@ public static void main(String[] args) { System.out.println(map.get(uuid)); } - for (Map.Entry entry : map.entrySet()) {// Не рационально + for (Map.Entry entry : map.entrySet()) { System.out.println(entry.getValue()); } diff --git a/src/ru/javawebinar/basejava/MainReflection.java b/src/ru/javawebinar/basejava/MainReflection.java index 19821886..7fa17969 100644 --- a/src/ru/javawebinar/basejava/MainReflection.java +++ b/src/ru/javawebinar/basejava/MainReflection.java @@ -9,7 +9,7 @@ public class MainReflection { public static void main(String[] args) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException { - Resume r = new Resume(); + Resume r = new Resume("Name"); Class resumeClass = r.getClass(); Field field = resumeClass.getDeclaredFields()[0]; field.setAccessible(true); diff --git a/src/ru/javawebinar/basejava/model/Resume.java b/src/ru/javawebinar/basejava/model/Resume.java index 1398006a..d5e74605 100644 --- a/src/ru/javawebinar/basejava/model/Resume.java +++ b/src/ru/javawebinar/basejava/model/Resume.java @@ -1,21 +1,27 @@ package ru.javawebinar.basejava.model; +import java.util.Objects; import java.util.UUID; /** * ru.javawebinar.basejava.model.Resume class */ -public class Resume{ +public class Resume implements Comparable { // Unique identifier private final String uuid; - public Resume() { - this(UUID.randomUUID().toString()); + private final String fullName; + + public Resume(String fullName) { + this(UUID.randomUUID().toString(), fullName); } - public Resume(String uuid) { + public Resume(String uuid, String fullName) { + Objects.requireNonNull(uuid, "uuid must not be null"); + Objects.requireNonNull(fullName, "fullName must not be null"); this.uuid = uuid; + this.fullName = fullName; } public String getUuid() { @@ -29,16 +35,26 @@ public boolean equals(Object o) { Resume resume = (Resume) o; - return uuid.equals(resume.uuid); + if (!uuid.equals(resume.uuid)) return false; + return fullName.equals(resume.fullName); + } @Override public int hashCode() { - return uuid.hashCode(); + int result = uuid.hashCode(); + result = 31 * result + fullName.hashCode(); + return result; } @Override public String toString() { - return uuid; + return uuid + '(' + fullName + ')'; + } + + @Override + public int compareTo(Resume o) { + int cmp = fullName.compareTo(o.fullName); + return cmp != 0 ? cmp : uuid.compareTo(o.uuid); } } \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java b/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java index d264e75f..4a7fb346 100644 --- a/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java +++ b/src/ru/javawebinar/basejava/storage/SortedArrayStorage.java @@ -35,7 +35,7 @@ protected void insertElement(Resume r, int index) { @Override protected Integer getSearchKey(String uuid) { - Resume searchKey = new Resume(uuid); + Resume searchKey = new Resume(uuid, "dummy"); return Arrays.binarySearch(storage, 0, size, searchKey, RESUME_COMPARATOR); } } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java index bb4ded5c..9bd85dd0 100644 --- a/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AbstractArrayStorageTest.java @@ -18,11 +18,11 @@ protected AbstractArrayStorageTest(Storage storage) { public void saveOverflow() throws Exception { try { for (int i = 4; i <= AbstractArrayStorage.STORAGE_LIMIT; i++) { - storage.save(new Resume()); + storage.save(new Resume("Name" + i)); } } catch (StorageException e) { Assert.fail(); } - storage.save(new Resume()); + storage.save(new Resume("Overflow")); } } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java index b3a68f3e..9331817a 100644 --- a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java @@ -23,10 +23,10 @@ public abstract class AbstractStorageTest { private static final Resume RESUME_4; static { - RESUME_1 = new Resume(UUID_1); - RESUME_2 = new Resume(UUID_2); - RESUME_3 = new Resume(UUID_3); - RESUME_4 = new Resume(UUID_4); + RESUME_1 = new Resume(UUID_1, "Name1"); + RESUME_2 = new Resume(UUID_2, "Name2"); + RESUME_3 = new Resume(UUID_3, "Name3"); + RESUME_4 = new Resume(UUID_4, "Name4"); } protected AbstractStorageTest(Storage storage) { @@ -54,7 +54,7 @@ public void clear() throws Exception { @Test public void update() throws Exception { - Resume newResume = new Resume(UUID_1); + Resume newResume = new Resume(UUID_1, "New Name"); storage.update(newResume); assertTrue(newResume == storage.get(UUID_1)); } From 94f98d62fad5feae40b07224e6cc2790dd555282 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 27 Feb 2019 20:30:47 +0200 Subject: [PATCH 16/41] Lesson07_HW06 add fullName --- src/ru/javawebinar/basejava/MainArray.java | 5 +++-- .../basejava/storage/AbstractArrayStorage.java | 9 ++++----- .../basejava/storage/AbstractStorage.java | 12 ++++++++++++ .../javawebinar/basejava/storage/ListStorage.java | 6 +++--- .../basejava/storage/MapUuidStorage.java | 8 +++++--- src/ru/javawebinar/basejava/storage/Storage.java | 7 ++++++- .../basejava/storage/AbstractStorageTest.java | 13 +++++++------ .../basejava/storage/MainTestArrayStorage.java | 2 +- 8 files changed, 41 insertions(+), 21 deletions(-) diff --git a/src/ru/javawebinar/basejava/MainArray.java b/src/ru/javawebinar/basejava/MainArray.java index e8d7669f..9383f3c1 100644 --- a/src/ru/javawebinar/basejava/MainArray.java +++ b/src/ru/javawebinar/basejava/MainArray.java @@ -7,6 +7,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; +import java.util.List; /** * Test for ru.javawebinar.basejava.storage.ArrayStorage @@ -66,9 +67,9 @@ public static void main(String[] args) throws IOException { } static void printAll() { - Resume[] all = ARRAY_STORAGE.getAll(); + List all = ARRAY_STORAGE.getAllSorted(); System.out.println("----------------------------"); - if (all.length == 0) { + if (all.size() == 0) { System.out.println("Empty"); } else { for (Resume r : all) { diff --git a/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java index 16bfb171..ae695567 100644 --- a/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java +++ b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java @@ -4,6 +4,7 @@ import ru.javawebinar.basejava.model.Resume; import java.util.Arrays; +import java.util.List; /** * Array based storage for Resumes @@ -28,11 +29,9 @@ protected void doUpdate(Resume r, Object index) { storage[(Integer) index] = r; } - /** - * @return array, contains only Resumes in storage (without null) - */ - public Resume[] getAll() { - return Arrays.copyOfRange(storage, 0, size); + @Override + public List doCopyAll() { + return Arrays.asList(Arrays.copyOfRange(storage, 0, size)); } @Override diff --git a/src/ru/javawebinar/basejava/storage/AbstractStorage.java b/src/ru/javawebinar/basejava/storage/AbstractStorage.java index 750e8f69..bc8cee2e 100644 --- a/src/ru/javawebinar/basejava/storage/AbstractStorage.java +++ b/src/ru/javawebinar/basejava/storage/AbstractStorage.java @@ -4,6 +4,9 @@ import ru.javawebinar.basejava.exception.NotExistStorageException; import ru.javawebinar.basejava.model.Resume; +import java.util.Collections; +import java.util.List; + public abstract class AbstractStorage implements Storage { protected abstract Object getSearchKey(String uuid); @@ -18,6 +21,8 @@ public abstract class AbstractStorage implements Storage { protected abstract void doDelete(Object searchKey); + protected abstract List doCopyAll(); + public void update(Resume r) { Object searchKey = getExistedSearchKey(r.getUuid()); doUpdate(r, searchKey); @@ -53,4 +58,11 @@ private Object getNotExistedSearchKey(String uuid) { } return searchKey; } + + @Override + public List getAllSorted() { + List list = doCopyAll(); + Collections.sort(list); + return list; } +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/ListStorage.java b/src/ru/javawebinar/basejava/storage/ListStorage.java index c32cf50e..63f2f8dd 100644 --- a/src/ru/javawebinar/basejava/storage/ListStorage.java +++ b/src/ru/javawebinar/basejava/storage/ListStorage.java @@ -49,12 +49,12 @@ public void clear() { } @Override - public Resume[] getAll() { - return list.toArray(new Resume[list.size()]); + public List doCopyAll() { + return new ArrayList<>(list); } @Override public int size() { return list.size(); } -} +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/MapUuidStorage.java b/src/ru/javawebinar/basejava/storage/MapUuidStorage.java index a551abdf..662e757a 100644 --- a/src/ru/javawebinar/basejava/storage/MapUuidStorage.java +++ b/src/ru/javawebinar/basejava/storage/MapUuidStorage.java @@ -2,7 +2,9 @@ import ru.javawebinar.basejava.model.Resume; +import java.util.Collections; import java.util.HashMap; +import java.util.List; import java.util.Map; // TODO implement @@ -45,12 +47,12 @@ public void clear() { } @Override - public Resume[] getAll() { - return new Resume[0]; + public List doCopyAll() { + return Collections.emptyList(); } @Override public int size() { return 0; } -} +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/Storage.java b/src/ru/javawebinar/basejava/storage/Storage.java index 2f7a1d9e..5af0da3d 100644 --- a/src/ru/javawebinar/basejava/storage/Storage.java +++ b/src/ru/javawebinar/basejava/storage/Storage.java @@ -2,6 +2,8 @@ import ru.javawebinar.basejava.model.Resume; +import java.util.List; + public interface Storage { void clear(); @@ -14,7 +16,10 @@ public interface Storage { void delete(String uuid); - Resume[] getAll(); + /** + * @return array, contains only Resumes in storage (without null) + */ + List getAllSorted(); int size(); } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java index 9331817a..514284f4 100644 --- a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java @@ -6,6 +6,9 @@ import ru.javawebinar.basejava.exception.NotExistStorageException; import ru.javawebinar.basejava.model.Resume; +import java.util.Arrays; +import java.util.List; + import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -65,12 +68,10 @@ public void updateNotExist() throws Exception { } @Test - public void getAll() throws Exception { - Resume[] array = storage.getAll(); - assertEquals(3, array.length); - assertEquals(RESUME_1, array[0]); - assertEquals(RESUME_2, array[1]); - assertEquals(RESUME_3, array[2]); + public void getAllSorted() throws Exception { + List list = storage.getAllSorted(); + assertEquals(3, list.size()); + assertEquals(list, Arrays.asList(RESUME_1, RESUME_2, RESUME_3)); } @Test diff --git a/test/ru/javawebinar/basejava/storage/MainTestArrayStorage.java b/test/ru/javawebinar/basejava/storage/MainTestArrayStorage.java index 126c02c7..de489cb0 100644 --- a/test/ru/javawebinar/basejava/storage/MainTestArrayStorage.java +++ b/test/ru/javawebinar/basejava/storage/MainTestArrayStorage.java @@ -34,7 +34,7 @@ public static void main(String[] args) { static void printAll() { System.out.println("\nGet All"); - for (Resume r : ARRAY_STORAGE.getAll()) { + for (Resume r : ARRAY_STORAGE.getAllSorted()) { System.out.println(r); } } From 76c1929ed1cfe97f00090607c8d6595146c45f50 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 27 Feb 2019 20:37:27 +0200 Subject: [PATCH 17/41] Lesson07_HW06 mapStorage --- .../basejava/storage/MapResumeStorage.java | 58 +++++++++++++++++++ .../basejava/storage/MapUuidStorage.java | 32 +++++----- .../basejava/storage/AllStorageTest.java | 8 +-- .../storage/MapResumeStorageTest.java | 8 +++ 4 files changed, 82 insertions(+), 24 deletions(-) create mode 100644 src/ru/javawebinar/basejava/storage/MapResumeStorage.java create mode 100644 test/ru/javawebinar/basejava/storage/MapResumeStorageTest.java diff --git a/src/ru/javawebinar/basejava/storage/MapResumeStorage.java b/src/ru/javawebinar/basejava/storage/MapResumeStorage.java new file mode 100644 index 00000000..003fa5c8 --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/MapResumeStorage.java @@ -0,0 +1,58 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.model.Resume; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class MapResumeStorage extends AbstractStorage { + private Map map = new HashMap<>(); + + @Override + protected Resume getSearchKey(String uuid) { + return map.get(uuid); + } + + @Override + protected void doUpdate(Resume r, Object resume) { + map.put(r.getUuid(), r); + } + + @Override + protected boolean isExist(Object resume) { + return resume != null; + } + + @Override + protected void doSave(Resume r, Object resume) { + map.put(r.getUuid(), r); + } + + @Override + protected Resume doGet(Object resume) { + return (Resume) resume; + } + + @Override + protected void doDelete(Object resume) { + map.remove(((Resume) resume).getUuid()); + } + + @Override + public void clear() { + map.clear(); + } + + @Override + public List doCopyAll() { + return new ArrayList<>(map.values()); + } + + @Override + public int size() { + return map.size(); + } +} + diff --git a/src/ru/javawebinar/basejava/storage/MapUuidStorage.java b/src/ru/javawebinar/basejava/storage/MapUuidStorage.java index 662e757a..e9a7f931 100644 --- a/src/ru/javawebinar/basejava/storage/MapUuidStorage.java +++ b/src/ru/javawebinar/basejava/storage/MapUuidStorage.java @@ -2,13 +2,8 @@ import ru.javawebinar.basejava.model.Resume; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; -// TODO implement -// TODO create new MapStorage with search key not uuid public class MapUuidStorage extends AbstractStorage { private Map map = new HashMap<>(); @@ -18,41 +13,42 @@ protected String getSearchKey(String uuid) { } @Override - protected void doUpdate(Resume r, Object searchKey) { + protected void doUpdate(Resume r, Object uuid) { + map.put((String) uuid, r); } @Override - protected boolean isExist(Object searchKey) { - return false; + protected boolean isExist(Object uuid) { + return map.containsKey((String) uuid); } @Override - protected void doSave(Resume r, Object searchKey) { - + protected void doSave(Resume r, Object uuid) { + map.put((String) uuid, r); } @Override - protected Resume doGet(Object searchKey) { - return null; + protected Resume doGet(Object uuid) { + return map.get((String) uuid); } @Override - protected void doDelete(Object searchKey) { - + protected void doDelete(Object uuid) { + map.remove((String) uuid); } @Override public void clear() { - + map.clear(); } @Override public List doCopyAll() { - return Collections.emptyList(); + return new ArrayList<>(map.values()); } @Override public int size() { - return 0; + return map.size(); } } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/AllStorageTest.java b/test/ru/javawebinar/basejava/storage/AllStorageTest.java index be99860e..d58b8dd3 100644 --- a/test/ru/javawebinar/basejava/storage/AllStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AllStorageTest.java @@ -3,10 +3,6 @@ import org.junit.runner.RunWith; import org.junit.runners.Suite; -/** - * gkislin - * 04.07.2016 - */ @RunWith(Suite.class) @Suite.SuiteClasses( { @@ -14,7 +10,7 @@ SortedArrayStorageTest.class, ListStorageTest.class, MapUuidStorageTest.class, + MapResumeStorageTest.class }) public class AllStorageTest { -} - +} \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/MapResumeStorageTest.java b/test/ru/javawebinar/basejava/storage/MapResumeStorageTest.java new file mode 100644 index 00000000..321aa46e --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/MapResumeStorageTest.java @@ -0,0 +1,8 @@ +package ru.javawebinar.basejava.storage; + +public class MapResumeStorageTest extends AbstractStorageTest { + + public MapResumeStorageTest() { + super(new MapResumeStorage()); + } +} \ No newline at end of file From 153eec3d7b827f34299b8f99444cd5aa57c90774 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 6 Mar 2019 18:56:56 +0200 Subject: [PATCH 18/41] Lesson07 generic --- .../storage/AbstractArrayStorage.java | 25 +++++++++------- .../basejava/storage/AbstractStorage.java | 30 +++++++++---------- .../basejava/storage/ListStorage.java | 18 +++++------ .../basejava/storage/MapResumeStorage.java | 19 ++++++------ .../basejava/storage/MapUuidStorage.java | 22 +++++++------- 5 files changed, 58 insertions(+), 56 deletions(-) diff --git a/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java index ae695567..f59b5f57 100644 --- a/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java +++ b/src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java @@ -9,7 +9,7 @@ /** * Array based storage for Resumes */ -public abstract class AbstractArrayStorage extends AbstractStorage { +public abstract class AbstractArrayStorage extends AbstractStorage { protected static final int STORAGE_LIMIT = 10000; protected Resume[] storage = new Resume[STORAGE_LIMIT]; @@ -25,39 +25,42 @@ public void clear() { } @Override - protected void doUpdate(Resume r, Object index) { - storage[(Integer) index] = r; + protected void doUpdate(Resume r, Integer index) { + storage[index] = r; } + /** + * @return array, contains only Resumes in storage (without null) + */ @Override public List doCopyAll() { return Arrays.asList(Arrays.copyOfRange(storage, 0, size)); } @Override - protected void doSave(Resume r, Object index) { + protected void doSave(Resume r, Integer index) { if (size == STORAGE_LIMIT) { throw new StorageException("Storage overflow", r.getUuid()); } else { - insertElement(r, (Integer) index); + insertElement(r, index); size++; } } @Override - public void doDelete(Object index) { - fillDeletedElement((Integer) index); + public void doDelete(Integer index) { + fillDeletedElement(index); storage[size - 1] = null; size--; } - public Resume doGet(Object index) { - return storage[(Integer) index]; + public Resume doGet(Integer index) { + return storage[index]; } @Override - protected boolean isExist(Object index) { - return (Integer) index >= 0; + protected boolean isExist(Integer index) { + return index >= 0; } protected abstract void fillDeletedElement(int index); diff --git a/src/ru/javawebinar/basejava/storage/AbstractStorage.java b/src/ru/javawebinar/basejava/storage/AbstractStorage.java index bc8cee2e..c8bbac45 100644 --- a/src/ru/javawebinar/basejava/storage/AbstractStorage.java +++ b/src/ru/javawebinar/basejava/storage/AbstractStorage.java @@ -7,52 +7,52 @@ import java.util.Collections; import java.util.List; -public abstract class AbstractStorage implements Storage { +public abstract class AbstractStorage implements Storage { - protected abstract Object getSearchKey(String uuid); + protected abstract SK getSearchKey(String uuid); - protected abstract void doUpdate(Resume r, Object searchKey); + protected abstract void doUpdate(Resume r, SK searchKey); - protected abstract boolean isExist(Object searchKey); + protected abstract boolean isExist(SK searchKey); - protected abstract void doSave(Resume r, Object searchKey); + protected abstract void doSave(Resume r, SK searchKey); - protected abstract Resume doGet(Object searchKey); + protected abstract Resume doGet(SK searchKey); - protected abstract void doDelete(Object searchKey); + protected abstract void doDelete(SK searchKey); protected abstract List doCopyAll(); public void update(Resume r) { - Object searchKey = getExistedSearchKey(r.getUuid()); + SK searchKey = getExistedSearchKey(r.getUuid()); doUpdate(r, searchKey); } public void save(Resume r) { - Object searchKey = getNotExistedSearchKey(r.getUuid()); + SK searchKey = getNotExistedSearchKey(r.getUuid()); doSave(r, searchKey); } public void delete(String uuid) { - Object searchKey = getExistedSearchKey(uuid); + SK searchKey = getExistedSearchKey(uuid); doDelete(searchKey); } public Resume get(String uuid) { - Object searchKey = getExistedSearchKey(uuid); + SK searchKey = getExistedSearchKey(uuid); return doGet(searchKey); } - private Object getExistedSearchKey(String uuid) { - Object searchKey = getSearchKey(uuid); + private SK getExistedSearchKey(String uuid) { + SK searchKey = getSearchKey(uuid); if (!isExist(searchKey)) { throw new NotExistStorageException(uuid); } return searchKey; } - private Object getNotExistedSearchKey(String uuid) { - Object searchKey = getSearchKey(uuid); + private SK getNotExistedSearchKey(String uuid) { + SK searchKey = getSearchKey(uuid); if (isExist(searchKey)) { throw new ExistStorageException(uuid); } diff --git a/src/ru/javawebinar/basejava/storage/ListStorage.java b/src/ru/javawebinar/basejava/storage/ListStorage.java index 63f2f8dd..d2e3d9c0 100644 --- a/src/ru/javawebinar/basejava/storage/ListStorage.java +++ b/src/ru/javawebinar/basejava/storage/ListStorage.java @@ -5,7 +5,7 @@ import java.util.ArrayList; import java.util.List; -public class ListStorage extends AbstractStorage { +public class ListStorage extends AbstractStorage { private List list = new ArrayList<>(); @Override @@ -19,28 +19,28 @@ protected Integer getSearchKey(String uuid) { } @Override - protected boolean isExist(Object searchKey) { + protected boolean isExist(Integer searchKey) { return searchKey != null; } @Override - protected void doUpdate(Resume r, Object searchKey) { - list.set((Integer) searchKey, r); + protected void doUpdate(Resume r, Integer searchKey) { + list.set(searchKey, r); } @Override - protected void doSave(Resume r, Object searchKey) { + protected void doSave(Resume r, Integer searchKey) { list.add(r); } @Override - protected Resume doGet(Object searchKey) { - return list.get((Integer) searchKey); + protected Resume doGet(Integer searchKey) { + return list.get(searchKey); } @Override - protected void doDelete(Object searchKey) { - list.remove(((Integer) searchKey).intValue()); + protected void doDelete(Integer searchKey) { + list.remove(searchKey.intValue()); } @Override diff --git a/src/ru/javawebinar/basejava/storage/MapResumeStorage.java b/src/ru/javawebinar/basejava/storage/MapResumeStorage.java index 003fa5c8..27137eef 100644 --- a/src/ru/javawebinar/basejava/storage/MapResumeStorage.java +++ b/src/ru/javawebinar/basejava/storage/MapResumeStorage.java @@ -7,7 +7,7 @@ import java.util.List; import java.util.Map; -public class MapResumeStorage extends AbstractStorage { +public class MapResumeStorage extends AbstractStorage { private Map map = new HashMap<>(); @Override @@ -16,28 +16,28 @@ protected Resume getSearchKey(String uuid) { } @Override - protected void doUpdate(Resume r, Object resume) { + protected void doUpdate(Resume r, Resume resume) { map.put(r.getUuid(), r); } @Override - protected boolean isExist(Object resume) { + protected boolean isExist(Resume resume) { return resume != null; } @Override - protected void doSave(Resume r, Object resume) { + protected void doSave(Resume r, Resume resume) { map.put(r.getUuid(), r); } @Override - protected Resume doGet(Object resume) { - return (Resume) resume; + protected Resume doGet(Resume resume) { + return resume; } @Override - protected void doDelete(Object resume) { - map.remove(((Resume) resume).getUuid()); + protected void doDelete(Resume resume) { + map.remove(resume.getUuid()); } @Override @@ -54,5 +54,4 @@ public List doCopyAll() { public int size() { return map.size(); } -} - +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/MapUuidStorage.java b/src/ru/javawebinar/basejava/storage/MapUuidStorage.java index e9a7f931..b35b32fd 100644 --- a/src/ru/javawebinar/basejava/storage/MapUuidStorage.java +++ b/src/ru/javawebinar/basejava/storage/MapUuidStorage.java @@ -4,7 +4,7 @@ import java.util.*; -public class MapUuidStorage extends AbstractStorage { +public class MapUuidStorage extends AbstractStorage { private Map map = new HashMap<>(); @Override @@ -13,28 +13,28 @@ protected String getSearchKey(String uuid) { } @Override - protected void doUpdate(Resume r, Object uuid) { - map.put((String) uuid, r); + protected void doUpdate(Resume r, String uuid) { + map.put(uuid, r); } @Override - protected boolean isExist(Object uuid) { - return map.containsKey((String) uuid); + protected boolean isExist(String uuid) { + return map.containsKey(uuid); } @Override - protected void doSave(Resume r, Object uuid) { - map.put((String) uuid, r); + protected void doSave(Resume r, String uuid) { + map.put(uuid, r); } @Override - protected Resume doGet(Object uuid) { - return map.get((String) uuid); + protected Resume doGet(String uuid) { + return map.get(uuid); } @Override - protected void doDelete(Object uuid) { - map.remove((String) uuid); + protected void doDelete(String uuid) { + map.remove(uuid); } @Override From 8a9daf5758e81d9dfa425099666791a3d4d86739 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Wed, 6 Mar 2019 19:39:08 +0200 Subject: [PATCH 19/41] Lesson07 enum --- .../javawebinar/basejava/TestSingleton.java | 31 +++++++++++++++++++ .../basejava/model/SectionType.java | 21 +++++++++++++ .../basejava/storage/AbstractStorage.java | 11 +++++++ 3 files changed, 63 insertions(+) create mode 100644 src/ru/javawebinar/basejava/TestSingleton.java create mode 100644 src/ru/javawebinar/basejava/model/SectionType.java diff --git a/src/ru/javawebinar/basejava/TestSingleton.java b/src/ru/javawebinar/basejava/TestSingleton.java new file mode 100644 index 00000000..0c28439c --- /dev/null +++ b/src/ru/javawebinar/basejava/TestSingleton.java @@ -0,0 +1,31 @@ +package ru.javawebinar.basejava; + +import ru.javawebinar.basejava.model.SectionType; + +public class TestSingleton { + private static TestSingleton instance; + + public static TestSingleton getInstance() { + if (instance == null) { + instance = new TestSingleton(); + } + return instance; + } + + private TestSingleton() { + } + + public static void main(String[] args) { + TestSingleton.getInstance().toString(); + Singleton instance = Singleton.valueOf("INSTANCE"); + System.out.println(instance.ordinal()); + + for (SectionType type : SectionType.values()) { + System.out.println(type.getTitle()); + } + } + + public enum Singleton { + INSTANCE + } +} diff --git a/src/ru/javawebinar/basejava/model/SectionType.java b/src/ru/javawebinar/basejava/model/SectionType.java new file mode 100644 index 00000000..f7ed90e7 --- /dev/null +++ b/src/ru/javawebinar/basejava/model/SectionType.java @@ -0,0 +1,21 @@ +package ru.javawebinar.basejava.model; + +public enum SectionType { + PERSONAL("Личные качества"), + OBJECTIVE("Позиция"), + ACHIEVEMENT("Достижения"), + QUALIFICATIONS("Квалификация"), + EXPERIENCE("Опыт работы"), + EDUCATION("Образование"); + + private String title; + + SectionType(String title) { + this.title = title; + } + + public String getTitle() { + return title; + } +} + diff --git a/src/ru/javawebinar/basejava/storage/AbstractStorage.java b/src/ru/javawebinar/basejava/storage/AbstractStorage.java index c8bbac45..e8f34496 100644 --- a/src/ru/javawebinar/basejava/storage/AbstractStorage.java +++ b/src/ru/javawebinar/basejava/storage/AbstractStorage.java @@ -6,9 +6,13 @@ import java.util.Collections; import java.util.List; +import java.util.logging.Logger; public abstract class AbstractStorage implements Storage { + // protected final Logger LOG = Logger.getLogger(getClass().getName()); + private static final Logger LOG = Logger.getLogger(AbstractStorage.class.getName()); + protected abstract SK getSearchKey(String uuid); protected abstract void doUpdate(Resume r, SK searchKey); @@ -24,21 +28,25 @@ public abstract class AbstractStorage implements Storage { protected abstract List doCopyAll(); public void update(Resume r) { + LOG.info("Update " + r); SK searchKey = getExistedSearchKey(r.getUuid()); doUpdate(r, searchKey); } public void save(Resume r) { + LOG.info("Save " + r); SK searchKey = getNotExistedSearchKey(r.getUuid()); doSave(r, searchKey); } public void delete(String uuid) { + LOG.info("Delete " + uuid); SK searchKey = getExistedSearchKey(uuid); doDelete(searchKey); } public Resume get(String uuid) { + LOG.info("Get " + uuid); SK searchKey = getExistedSearchKey(uuid); return doGet(searchKey); } @@ -46,6 +54,7 @@ public Resume get(String uuid) { private SK getExistedSearchKey(String uuid) { SK searchKey = getSearchKey(uuid); if (!isExist(searchKey)) { + LOG.warning("Resume " + uuid + " not exist"); throw new NotExistStorageException(uuid); } return searchKey; @@ -54,6 +63,7 @@ private SK getExistedSearchKey(String uuid) { private SK getNotExistedSearchKey(String uuid) { SK searchKey = getSearchKey(uuid); if (isExist(searchKey)) { + LOG.warning("Resume " + uuid + " already exist"); throw new ExistStorageException(uuid); } return searchKey; @@ -61,6 +71,7 @@ private SK getNotExistedSearchKey(String uuid) { @Override public List getAllSorted() { + LOG.info("getAllSorted"); List list = doCopyAll(); Collections.sort(list); return list; From fc9c203957c22fa5bc9539f26e59ee5cc6464d2f Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Thu, 7 Mar 2019 09:55:18 +0200 Subject: [PATCH 20/41] Contact --- src/ru/javawebinar/basejava/model/Contact.java | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/ru/javawebinar/basejava/model/Contact.java diff --git a/src/ru/javawebinar/basejava/model/Contact.java b/src/ru/javawebinar/basejava/model/Contact.java new file mode 100644 index 00000000..d4dc8e11 --- /dev/null +++ b/src/ru/javawebinar/basejava/model/Contact.java @@ -0,0 +1,4 @@ +package ru.javawebinar.basejava.model; + +public class Contact { +} From 11fe393053ea6ff7ae1799dce1ee64ffaaafceab Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Thu, 7 Mar 2019 14:50:25 +0200 Subject: [PATCH 21/41] Lesson08 HW08 --- src/ru/javawebinar/basejava/MainDate.java | 38 +++++++++ .../basejava/exception/StorageException.java | 5 ++ .../javawebinar/basejava/model/Contact.java | 4 - src/ru/javawebinar/basejava/model/Resume.java | 17 +++- .../basejava/storage/AbstractFileStorage.java | 80 +++++++++++++++++++ .../basejava/storage/MapUuidStorage.java | 5 +- .../javawebinar/basejava/util/DateUtil.java | 15 ++++ 7 files changed, 157 insertions(+), 7 deletions(-) create mode 100644 src/ru/javawebinar/basejava/MainDate.java delete mode 100644 src/ru/javawebinar/basejava/model/Contact.java create mode 100644 src/ru/javawebinar/basejava/storage/AbstractFileStorage.java create mode 100644 src/ru/javawebinar/basejava/util/DateUtil.java diff --git a/src/ru/javawebinar/basejava/MainDate.java b/src/ru/javawebinar/basejava/MainDate.java new file mode 100644 index 00000000..6e57aa93 --- /dev/null +++ b/src/ru/javawebinar/basejava/MainDate.java @@ -0,0 +1,38 @@ +package ru.javawebinar.basejava; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; +import java.util.Calendar; +import java.util.Date; +import java.util.TimeZone; + +/** + * gkislin + * 20.07.2016 + */ +public class MainDate { + public static void main(String[] args) { + long start = System.currentTimeMillis(); + Date date = new Date(); + System.out.println(date); + System.out.println(System.currentTimeMillis() - start); + Calendar cal = Calendar.getInstance(); + cal.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles")); + System.out.println(cal.getTime()); + + LocalDate ld = LocalDate.now(); + LocalTime lt = LocalTime.now(); + LocalDateTime ldt = LocalDateTime.of(ld, lt); + System.out.println(ldt); + + + SimpleDateFormat sdf = new SimpleDateFormat("YY/MM/dd"); + System.out.println(sdf.format(date)); + + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("YY/MM/dd"); + System.out.println(dtf.format(ldt)); + } +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/exception/StorageException.java b/src/ru/javawebinar/basejava/exception/StorageException.java index dbd1be0a..1465a72a 100644 --- a/src/ru/javawebinar/basejava/exception/StorageException.java +++ b/src/ru/javawebinar/basejava/exception/StorageException.java @@ -8,6 +8,11 @@ public StorageException(String message, String uuid) { this.uuid = uuid; } + public StorageException(String message, String uuid, Exception e) { + super(message, e); + this.uuid = uuid; + } + public String getUuid() { return uuid; } diff --git a/src/ru/javawebinar/basejava/model/Contact.java b/src/ru/javawebinar/basejava/model/Contact.java deleted file mode 100644 index d4dc8e11..00000000 --- a/src/ru/javawebinar/basejava/model/Contact.java +++ /dev/null @@ -1,4 +0,0 @@ -package ru.javawebinar.basejava.model; - -public class Contact { -} diff --git a/src/ru/javawebinar/basejava/model/Resume.java b/src/ru/javawebinar/basejava/model/Resume.java index d5e74605..376254e9 100644 --- a/src/ru/javawebinar/basejava/model/Resume.java +++ b/src/ru/javawebinar/basejava/model/Resume.java @@ -1,10 +1,12 @@ package ru.javawebinar.basejava.model; +import java.util.EnumMap; +import java.util.Map; import java.util.Objects; import java.util.UUID; /** - * ru.javawebinar.basejava.model.Resume class + * com.urise.webapp.model.Resume class */ public class Resume implements Comparable { @@ -13,6 +15,9 @@ public class Resume implements Comparable { private final String fullName; + private final Map contacts = new EnumMap<>(ContactType.class); + private final Map sections = new EnumMap<>(SectionType.class); + public Resume(String fullName) { this(UUID.randomUUID().toString(), fullName); } @@ -28,6 +33,14 @@ public String getUuid() { return uuid; } + public String getContact(ContactType type) { + return contacts.get(type); + } + + public Section getSection(SectionType type) { + return sections.get(type); + } + @Override public boolean equals(Object o) { if (this == o) return true; @@ -57,4 +70,4 @@ public int compareTo(Resume o) { int cmp = fullName.compareTo(o.fullName); return cmp != 0 ? cmp : uuid.compareTo(o.uuid); } -} \ No newline at end of file +} diff --git a/src/ru/javawebinar/basejava/storage/AbstractFileStorage.java b/src/ru/javawebinar/basejava/storage/AbstractFileStorage.java new file mode 100644 index 00000000..4ca0cf74 --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/AbstractFileStorage.java @@ -0,0 +1,80 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.exception.StorageException; +import ru.javawebinar.basejava.model.Resume; + +import java.io.File; +import java.io.IOException; +import java.util.List; +import java.util.Objects; + +/** + * gkislin + * 22.07.2016 + */ +public abstract class AbstractFileStorage extends AbstractStorage { + private File directory; + + protected AbstractFileStorage(File directory) { + Objects.requireNonNull(directory, "directory must not be null"); + if (!directory.isDirectory()) { + throw new IllegalArgumentException(directory.getAbsolutePath() + " is not directory"); + } + if (!directory.canRead() || !directory.canWrite()) { + throw new IllegalArgumentException(directory.getAbsolutePath() + " is not readable/writable"); + } + this.directory = directory; + } + + @Override + public void clear() { + + } + + @Override + public int size() { + return 0; + } + + @Override + protected File getSearchKey(String uuid) { + return new File(directory, uuid); + } + + @Override + protected void doUpdate(Resume r, File file) { + + } + + @Override + protected boolean isExist(File file) { + return file.exists(); + } + + @Override + protected void doSave(Resume r, File file) { + try { + file.createNewFile(); + doWrite(r, file); + } catch (IOException e) { + throw new StorageException("IO error", file.getName(), e); + } + } + + protected abstract void doWrite(Resume r, File file) throws IOException; + + @Override + protected Resume doGet(File file) { + return null; + } + + @Override + protected void doDelete(File file) { + + } + + @Override + protected List doCopyAll() { + return null; + } +} diff --git a/src/ru/javawebinar/basejava/storage/MapUuidStorage.java b/src/ru/javawebinar/basejava/storage/MapUuidStorage.java index b35b32fd..8e2e0750 100644 --- a/src/ru/javawebinar/basejava/storage/MapUuidStorage.java +++ b/src/ru/javawebinar/basejava/storage/MapUuidStorage.java @@ -2,7 +2,10 @@ import ru.javawebinar.basejava.model.Resume; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class MapUuidStorage extends AbstractStorage { private Map map = new HashMap<>(); diff --git a/src/ru/javawebinar/basejava/util/DateUtil.java b/src/ru/javawebinar/basejava/util/DateUtil.java new file mode 100644 index 00000000..d7207979 --- /dev/null +++ b/src/ru/javawebinar/basejava/util/DateUtil.java @@ -0,0 +1,15 @@ +package ru.javawebinar.basejava.util; + +import java.time.LocalDate; +import java.time.Month; + +/** + * gkislin + * 20.07.2016 + */ +public class DateUtil { + public static LocalDate of(int year, Month month) { + + return LocalDate.of(year, month, 1); + } +} \ No newline at end of file From db9009caa5201a01cce20f21a229f9fc5d0f01eb Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Thu, 7 Mar 2019 21:16:08 +0200 Subject: [PATCH 22/41] Lesson09 HW08 --- src/ru/javawebinar/basejava/model/Resume.java | 10 ++- .../basejava/storage/AbstractFileStorage.java | 46 +++++++++++--- .../javawebinar/basejava/util/DateUtil.java | 4 +- .../basejava/storage/AbstractStorageTest.java | 63 +++++++++++++------ 4 files changed, 94 insertions(+), 29 deletions(-) diff --git a/src/ru/javawebinar/basejava/model/Resume.java b/src/ru/javawebinar/basejava/model/Resume.java index 376254e9..1d919bd2 100644 --- a/src/ru/javawebinar/basejava/model/Resume.java +++ b/src/ru/javawebinar/basejava/model/Resume.java @@ -41,6 +41,14 @@ public Section getSection(SectionType type) { return sections.get(type); } + public void addContact(ContactType type, String value) { + contacts.put(type, value); + } + + public void addSection(SectionType type, Section section) { + sections.put(type, section); + } + @Override public boolean equals(Object o) { if (this == o) return true; @@ -70,4 +78,4 @@ public int compareTo(Resume o) { int cmp = fullName.compareTo(o.fullName); return cmp != 0 ? cmp : uuid.compareTo(o.uuid); } -} +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/AbstractFileStorage.java b/src/ru/javawebinar/basejava/storage/AbstractFileStorage.java index 4ca0cf74..6f330d1a 100644 --- a/src/ru/javawebinar/basejava/storage/AbstractFileStorage.java +++ b/src/ru/javawebinar/basejava/storage/AbstractFileStorage.java @@ -5,6 +5,7 @@ import java.io.File; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -28,12 +29,21 @@ protected AbstractFileStorage(File directory) { @Override public void clear() { - + File[] files = directory.listFiles(); + if (files != null) { + for (File file : files) { + doDelete(file); + } + } } @Override public int size() { - return 0; + String[] list = directory.list(); + if (list == null) { + throw new StorageException("Directory read error", null); + } + return list.length; } @Override @@ -43,7 +53,11 @@ protected File getSearchKey(String uuid) { @Override protected void doUpdate(Resume r, File file) { - + try { + doWrite(r, file); + } catch (IOException e) { + throw new StorageException("File write error", r.getUuid(), e); + } } @Override @@ -55,26 +69,42 @@ protected boolean isExist(File file) { protected void doSave(Resume r, File file) { try { file.createNewFile(); - doWrite(r, file); } catch (IOException e) { - throw new StorageException("IO error", file.getName(), e); + throw new StorageException("Couldn't create file " + file.getAbsolutePath(), file.getName(), e); } + doUpdate(r, file); } protected abstract void doWrite(Resume r, File file) throws IOException; + protected abstract Resume doRead(File file) throws IOException; + @Override protected Resume doGet(File file) { - return null; + try { + return doRead(file); + } catch (IOException e) { + throw new StorageException("File read error", file.getName(), e); + } } @Override protected void doDelete(File file) { - + if (!file.delete()) { + throw new StorageException("File delete error", file.getName()); + } } @Override protected List doCopyAll() { - return null; + File[] files = directory.listFiles(); + if (files == null) { + throw new StorageException("Directory read error", null); } + List list = new ArrayList<>(files.length); + for (File file : files) { + list.add(doGet(file)); + } + return list; } +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/util/DateUtil.java b/src/ru/javawebinar/basejava/util/DateUtil.java index d7207979..1452b89e 100644 --- a/src/ru/javawebinar/basejava/util/DateUtil.java +++ b/src/ru/javawebinar/basejava/util/DateUtil.java @@ -8,8 +8,10 @@ * 20.07.2016 */ public class DateUtil { - public static LocalDate of(int year, Month month) { + public static final LocalDate NOW = LocalDate.of(3000, 1, 1); + + public static LocalDate of(int year, Month month) { return LocalDate.of(year, month, 1); } } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java index 514284f4..55018860 100644 --- a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java @@ -4,8 +4,9 @@ import org.junit.Test; import ru.javawebinar.basejava.exception.ExistStorageException; import ru.javawebinar.basejava.exception.NotExistStorageException; -import ru.javawebinar.basejava.model.Resume; +import ru.javawebinar.basejava.model.*; +import java.time.Month; import java.util.Arrays; import java.util.List; @@ -20,16 +21,40 @@ public abstract class AbstractStorageTest { private static final String UUID_3 = "uuid3"; private static final String UUID_4 = "uuid4"; - private static final Resume RESUME_1; - private static final Resume RESUME_2; - private static final Resume RESUME_3; - private static final Resume RESUME_4; + private static final Resume R1; + private static final Resume R2; + private static final Resume R3; + private static final Resume R4; static { - RESUME_1 = new Resume(UUID_1, "Name1"); - RESUME_2 = new Resume(UUID_2, "Name2"); - RESUME_3 = new Resume(UUID_3, "Name3"); - RESUME_4 = new Resume(UUID_4, "Name4"); + R1 = new Resume(UUID_1, "Name1"); + R2 = new Resume(UUID_2, "Name2"); + R3 = new Resume(UUID_3, "Name3"); + R4 = new Resume(UUID_4, "Name4"); + + R1.addContact(ContactType.MAIL, "mail1@ya.ru"); + R1.addContact(ContactType.PHONE, "11111"); + R1.addSection(SectionType.OBJECTIVE, new TextSection("Objective1")); + R1.addSection(SectionType.PERSONAL, new TextSection("Personal data")); + R1.addSection(SectionType.ACHIEVEMENT, new ListSection("Achivment11", "Achivment12", "Achivment13")); + R1.addSection(SectionType.QUALIFICATIONS, new ListSection("Java", "SQL", "JavaScript")); + R1.addSection(SectionType.EXPERIENCE, + new OrganizationSection( + new Organization("Organization11", "http://Organization11.ru", + new Organization.Position(2005, Month.JANUARY, "position1", "content1"), + new Organization.Position(2001, Month.MARCH, 2005, Month.JANUARY, "position2", "content2")))); + R1.addSection(SectionType.EDUCATION, + new OrganizationSection( + new Organization("Institute", null, + new Organization.Position(1996, Month.JANUARY, 2000, Month.DECEMBER, "aspirant", null), + new Organization.Position(2001, Month.MARCH, 2005, Month.JANUARY, "student", "IT facultet")), + new Organization("Organization12", "http://Organization12.ru"))); + R2.addContact(ContactType.SKYPE, "skype2"); + R2.addContact(ContactType.PHONE, "22222"); + R1.addSection(SectionType.EXPERIENCE, + new OrganizationSection( + new Organization("Organization2", "http://Organization2.ru", + new Organization.Position(2015, Month.JANUARY, "position1", "content1")))); } protected AbstractStorageTest(Storage storage) { @@ -39,9 +64,9 @@ protected AbstractStorageTest(Storage storage) { @Before public void setUp() throws Exception { storage.clear(); - storage.save(RESUME_1); - storage.save(RESUME_2); - storage.save(RESUME_3); + storage.save(R1); + storage.save(R2); + storage.save(R3); } @Test @@ -71,19 +96,19 @@ public void updateNotExist() throws Exception { public void getAllSorted() throws Exception { List list = storage.getAllSorted(); assertEquals(3, list.size()); - assertEquals(list, Arrays.asList(RESUME_1, RESUME_2, RESUME_3)); + assertEquals(list, Arrays.asList(R1, R2, R3)); } @Test public void save() throws Exception { - storage.save(RESUME_4); + storage.save(R4); assertSize(4); - assertGet(RESUME_4); + assertGet(R4); } @Test(expected = ExistStorageException.class) public void saveExist() throws Exception { - storage.save(RESUME_1); + storage.save(R1); } @Test(expected = NotExistStorageException.class) @@ -100,9 +125,9 @@ public void deleteNotExist() throws Exception { @Test public void get() throws Exception { - assertGet(RESUME_1); - assertGet(RESUME_2); - assertGet(RESUME_3); + assertGet(R1); + assertGet(R2); + assertGet(R3); } @Test(expected = NotExistStorageException.class) From 083d29ae080592d53ca5320b43b15c8b46d4228a Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Sat, 9 Mar 2019 09:33:10 +0200 Subject: [PATCH 23/41] Lesson09 ObjectStreamStorage --- src/ru/javawebinar/basejava/model/Resume.java | 8 ++---- .../basejava/storage/AbstractFileStorage.java | 15 +++++----- .../basejava/storage/ObjectStreamStorage.java | 28 +++++++++++++++++++ .../basejava/storage/AbstractStorageTest.java | 5 +++- 4 files changed, 42 insertions(+), 14 deletions(-) create mode 100644 src/ru/javawebinar/basejava/storage/ObjectStreamStorage.java diff --git a/src/ru/javawebinar/basejava/model/Resume.java b/src/ru/javawebinar/basejava/model/Resume.java index 1d919bd2..d154e49a 100644 --- a/src/ru/javawebinar/basejava/model/Resume.java +++ b/src/ru/javawebinar/basejava/model/Resume.java @@ -1,15 +1,13 @@ package ru.javawebinar.basejava.model; +import java.io.Serializable; import java.util.EnumMap; import java.util.Map; import java.util.Objects; import java.util.UUID; -/** - * com.urise.webapp.model.Resume class - */ -public class Resume implements Comparable { - +public class Resume implements Comparable, Serializable { + private static final long serialVersionUID = 1L; // Unique identifier private final String uuid; diff --git a/src/ru/javawebinar/basejava/storage/AbstractFileStorage.java b/src/ru/javawebinar/basejava/storage/AbstractFileStorage.java index 6f330d1a..23a3a292 100644 --- a/src/ru/javawebinar/basejava/storage/AbstractFileStorage.java +++ b/src/ru/javawebinar/basejava/storage/AbstractFileStorage.java @@ -3,8 +3,7 @@ import ru.javawebinar.basejava.exception.StorageException; import ru.javawebinar.basejava.model.Resume; -import java.io.File; -import java.io.IOException; +import java.io.*; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -16,6 +15,10 @@ public abstract class AbstractFileStorage extends AbstractStorage { private File directory; + protected abstract void doWrite(Resume r, OutputStream os) throws IOException; + + protected abstract Resume doRead(InputStream is) throws IOException; + protected AbstractFileStorage(File directory) { Objects.requireNonNull(directory, "directory must not be null"); if (!directory.isDirectory()) { @@ -54,7 +57,7 @@ protected File getSearchKey(String uuid) { @Override protected void doUpdate(Resume r, File file) { try { - doWrite(r, file); + doWrite(r, new BufferedOutputStream(new FileOutputStream(file))); } catch (IOException e) { throw new StorageException("File write error", r.getUuid(), e); } @@ -75,14 +78,10 @@ protected void doSave(Resume r, File file) { doUpdate(r, file); } - protected abstract void doWrite(Resume r, File file) throws IOException; - - protected abstract Resume doRead(File file) throws IOException; - @Override protected Resume doGet(File file) { try { - return doRead(file); + return doRead(new BufferedInputStream(new FileInputStream(file))); } catch (IOException e) { throw new StorageException("File read error", file.getName(), e); } diff --git a/src/ru/javawebinar/basejava/storage/ObjectStreamStorage.java b/src/ru/javawebinar/basejava/storage/ObjectStreamStorage.java new file mode 100644 index 00000000..79b891b1 --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/ObjectStreamStorage.java @@ -0,0 +1,28 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.exception.StorageException; +import ru.javawebinar.basejava.model.Resume; + +import java.io.*; + +public class ObjectStreamStorage extends AbstractFileStorage { + protected ObjectStreamStorage(File directory) { + super(directory); + } + + @Override + protected void doWrite(Resume r, OutputStream os) throws IOException { + try (ObjectOutputStream oos = new ObjectOutputStream(os)) { + oos.writeObject(r); + } + } + + @Override + protected Resume doRead(InputStream is) throws IOException { + try (ObjectInputStream ois = new ObjectInputStream(is)) { + return (Resume) ois.readObject(); + } catch (ClassNotFoundException e) { + throw new StorageException("Error read resume", null, e); + } + } +} diff --git a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java index 55018860..9f055cc0 100644 --- a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java @@ -6,6 +6,7 @@ import ru.javawebinar.basejava.exception.NotExistStorageException; import ru.javawebinar.basejava.model.*; +import java.io.File; import java.time.Month; import java.util.Arrays; import java.util.List; @@ -14,6 +15,8 @@ import static org.junit.Assert.assertTrue; public abstract class AbstractStorageTest { + protected static final File STORAGE_DIR = new File("D:\\TEMP"); + protected Storage storage; private static final String UUID_1 = "uuid1"; @@ -84,7 +87,7 @@ public void clear() throws Exception { public void update() throws Exception { Resume newResume = new Resume(UUID_1, "New Name"); storage.update(newResume); - assertTrue(newResume == storage.get(UUID_1)); + assertTrue(newResume.equals(storage.get(UUID_1))); } @Test(expected = NotExistStorageException.class) From 7cd3812efcc72ab6b2edb8da89450ce0d936755d Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Sat, 9 Mar 2019 10:25:34 +0200 Subject: [PATCH 24/41] Lesson09 AbstractPathStorage --- .../basejava/storage/AbstractPathStorage.java | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 src/ru/javawebinar/basejava/storage/AbstractPathStorage.java diff --git a/src/ru/javawebinar/basejava/storage/AbstractPathStorage.java b/src/ru/javawebinar/basejava/storage/AbstractPathStorage.java new file mode 100644 index 00000000..06910216 --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/AbstractPathStorage.java @@ -0,0 +1,104 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.exception.StorageException; +import ru.javawebinar.basejava.model.Resume; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +public abstract class AbstractPathStorage extends AbstractStorage { + private Path directory; + + protected abstract void doWrite(Resume r, OutputStream os) throws IOException; + + protected abstract Resume doRead(InputStream is) throws IOException; + + protected AbstractPathStorage(String dir) { + directory = Paths.get(dir); + Objects.requireNonNull(directory, "directory must not be null"); + if (!Files.isDirectory(directory) || !Files.isWritable(directory)) { + throw new IllegalArgumentException(dir + " is not directory or is not writable"); + } + } + + @Override + public void clear() { + try { + Files.list(directory).forEach(this::doDelete); + } catch (IOException e) { + throw new StorageException("Path delete error", null); + } + } + + @Override + public int size() { + String[] list = directory.list(); + if (list == null) { + throw new StorageException("Directory read error", null); + } + return list.length; + } + + @Override + protected Path getSearchKey(String uuid) { + return new Path(directory, uuid); + } + + @Override + protected void doUpdate(Resume r, Path Path) { + try { + doWrite(r, new BufferedOutputStream(new PathOutputStream(Path))); + } catch (IOException e) { + throw new StorageException("Path write error", r.getUuid(), e); + } + } + + @Override + protected boolean isExist(Path Path) { + return Path.exists(); + } + + @Override + protected void doSave(Resume r, Path Path) { + try { + Path.createNewPath(); + } catch (IOException e) { + throw new StorageException("Couldn't create Path " + Path.getAbsolutePath(), Path.getName(), e); + } + doUpdate(r, Path); + } + + @Override + protected Resume doGet(Path Path) { + try { + return doRead(new BufferedInputStream(new PathInputStream(Path))); + } catch (IOException e) { + throw new StorageException("Path read error", Path.getName(), e); + } + } + + @Override + protected void doDelete(Path Path) { + if (!Path.delete()) { + throw new StorageException("Path delete error", Path.getName()); + } + } + + @Override + protected List doCopyAll() { + Path[] Paths = directory.listPaths(); + if (Paths == null) { + throw new StorageException("Directory read error", null); + } + List list = new ArrayList<>(Paths.length); + for (Path Path : Paths) { + list.add(doGet(Path)); + } + return list; + } +} From 5f0009a564a38c98d8221b591924d4ea41dd9181 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Sat, 9 Mar 2019 14:09:54 +0200 Subject: [PATCH 25/41] Lesson10 HW09 --- src/ru/javawebinar/basejava/MainUtil.java | 14 +++ .../basejava/exception/StorageException.java | 8 ++ .../basejava/storage/AbstractPathStorage.java | 104 ----------------- ...tractFileStorage.java => FileStorage.java} | 23 ++-- .../basejava/storage/PathStorage.java | 106 ++++++++++++++++++ .../ObjectStreamSerializer.java} | 16 +-- .../storage/serializer/StreamSerializer.java | 16 +++ .../basejava/storage/AllStorageTest.java | 4 +- .../storage/ObjectFileStorageTest.java | 10 ++ .../storage/ObjectPathStorageTest.java | 10 ++ 10 files changed, 187 insertions(+), 124 deletions(-) create mode 100644 src/ru/javawebinar/basejava/MainUtil.java delete mode 100644 src/ru/javawebinar/basejava/storage/AbstractPathStorage.java rename src/ru/javawebinar/basejava/storage/{AbstractFileStorage.java => FileStorage.java} (79%) create mode 100644 src/ru/javawebinar/basejava/storage/PathStorage.java rename src/ru/javawebinar/basejava/storage/{ObjectStreamStorage.java => serializer/ObjectStreamSerializer.java} (60%) create mode 100644 src/ru/javawebinar/basejava/storage/serializer/StreamSerializer.java create mode 100644 test/ru/javawebinar/basejava/storage/ObjectFileStorageTest.java create mode 100644 test/ru/javawebinar/basejava/storage/ObjectPathStorageTest.java diff --git a/src/ru/javawebinar/basejava/MainUtil.java b/src/ru/javawebinar/basejava/MainUtil.java new file mode 100644 index 00000000..893e1cfc --- /dev/null +++ b/src/ru/javawebinar/basejava/MainUtil.java @@ -0,0 +1,14 @@ +package ru.javawebinar.basejava; + +public class MainUtil { + public static void main(String[] args) { + System.out.println(Integer.valueOf(-1) == Integer.valueOf(-1)); + System.out.println(Integer.valueOf(-1) == new Integer(-1)); + int result = getInt(); + System.out.println(result); + } + + private static Integer getInt() { + return null; + } +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/exception/StorageException.java b/src/ru/javawebinar/basejava/exception/StorageException.java index 1465a72a..d35b94fc 100644 --- a/src/ru/javawebinar/basejava/exception/StorageException.java +++ b/src/ru/javawebinar/basejava/exception/StorageException.java @@ -3,11 +3,19 @@ public class StorageException extends RuntimeException { private final String uuid; + public StorageException(String message) { + this(message, null, null); + } + public StorageException(String message, String uuid) { super(message); this.uuid = uuid; } + public StorageException(String message, Exception e) { + this(message, null, e); + } + public StorageException(String message, String uuid, Exception e) { super(message, e); this.uuid = uuid; diff --git a/src/ru/javawebinar/basejava/storage/AbstractPathStorage.java b/src/ru/javawebinar/basejava/storage/AbstractPathStorage.java deleted file mode 100644 index 06910216..00000000 --- a/src/ru/javawebinar/basejava/storage/AbstractPathStorage.java +++ /dev/null @@ -1,104 +0,0 @@ -package ru.javawebinar.basejava.storage; - -import ru.javawebinar.basejava.exception.StorageException; -import ru.javawebinar.basejava.model.Resume; - -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -public abstract class AbstractPathStorage extends AbstractStorage { - private Path directory; - - protected abstract void doWrite(Resume r, OutputStream os) throws IOException; - - protected abstract Resume doRead(InputStream is) throws IOException; - - protected AbstractPathStorage(String dir) { - directory = Paths.get(dir); - Objects.requireNonNull(directory, "directory must not be null"); - if (!Files.isDirectory(directory) || !Files.isWritable(directory)) { - throw new IllegalArgumentException(dir + " is not directory or is not writable"); - } - } - - @Override - public void clear() { - try { - Files.list(directory).forEach(this::doDelete); - } catch (IOException e) { - throw new StorageException("Path delete error", null); - } - } - - @Override - public int size() { - String[] list = directory.list(); - if (list == null) { - throw new StorageException("Directory read error", null); - } - return list.length; - } - - @Override - protected Path getSearchKey(String uuid) { - return new Path(directory, uuid); - } - - @Override - protected void doUpdate(Resume r, Path Path) { - try { - doWrite(r, new BufferedOutputStream(new PathOutputStream(Path))); - } catch (IOException e) { - throw new StorageException("Path write error", r.getUuid(), e); - } - } - - @Override - protected boolean isExist(Path Path) { - return Path.exists(); - } - - @Override - protected void doSave(Resume r, Path Path) { - try { - Path.createNewPath(); - } catch (IOException e) { - throw new StorageException("Couldn't create Path " + Path.getAbsolutePath(), Path.getName(), e); - } - doUpdate(r, Path); - } - - @Override - protected Resume doGet(Path Path) { - try { - return doRead(new BufferedInputStream(new PathInputStream(Path))); - } catch (IOException e) { - throw new StorageException("Path read error", Path.getName(), e); - } - } - - @Override - protected void doDelete(Path Path) { - if (!Path.delete()) { - throw new StorageException("Path delete error", Path.getName()); - } - } - - @Override - protected List doCopyAll() { - Path[] Paths = directory.listPaths(); - if (Paths == null) { - throw new StorageException("Directory read error", null); - } - List list = new ArrayList<>(Paths.length); - for (Path Path : Paths) { - list.add(doGet(Path)); - } - return list; - } -} diff --git a/src/ru/javawebinar/basejava/storage/AbstractFileStorage.java b/src/ru/javawebinar/basejava/storage/FileStorage.java similarity index 79% rename from src/ru/javawebinar/basejava/storage/AbstractFileStorage.java rename to src/ru/javawebinar/basejava/storage/FileStorage.java index 23a3a292..438e540b 100644 --- a/src/ru/javawebinar/basejava/storage/AbstractFileStorage.java +++ b/src/ru/javawebinar/basejava/storage/FileStorage.java @@ -2,6 +2,7 @@ import ru.javawebinar.basejava.exception.StorageException; import ru.javawebinar.basejava.model.Resume; +import ru.javawebinar.basejava.storage.serializer.StreamSerializer; import java.io.*; import java.util.ArrayList; @@ -12,15 +13,15 @@ * gkislin * 22.07.2016 */ -public abstract class AbstractFileStorage extends AbstractStorage { +public class FileStorage extends AbstractStorage { private File directory; - protected abstract void doWrite(Resume r, OutputStream os) throws IOException; + private StreamSerializer streamSerializer; - protected abstract Resume doRead(InputStream is) throws IOException; - - protected AbstractFileStorage(File directory) { + protected FileStorage(File directory, StreamSerializer streamSerializer) { Objects.requireNonNull(directory, "directory must not be null"); + + this.streamSerializer = streamSerializer; if (!directory.isDirectory()) { throw new IllegalArgumentException(directory.getAbsolutePath() + " is not directory"); } @@ -44,7 +45,7 @@ public void clear() { public int size() { String[] list = directory.list(); if (list == null) { - throw new StorageException("Directory read error", null); + throw new StorageException("Directory read error"); } return list.length; } @@ -57,7 +58,7 @@ protected File getSearchKey(String uuid) { @Override protected void doUpdate(Resume r, File file) { try { - doWrite(r, new BufferedOutputStream(new FileOutputStream(file))); + streamSerializer.doWrite(r, new BufferedOutputStream(new FileOutputStream(file))); } catch (IOException e) { throw new StorageException("File write error", r.getUuid(), e); } @@ -81,7 +82,7 @@ protected void doSave(Resume r, File file) { @Override protected Resume doGet(File file) { try { - return doRead(new BufferedInputStream(new FileInputStream(file))); + return streamSerializer.doRead(new BufferedInputStream(new FileInputStream(file))); } catch (IOException e) { throw new StorageException("File read error", file.getName(), e); } @@ -98,12 +99,12 @@ protected void doDelete(File file) { protected List doCopyAll() { File[] files = directory.listFiles(); if (files == null) { - throw new StorageException("Directory read error", null); - } + throw new StorageException("Directory read error"); + } List list = new ArrayList<>(files.length); for (File file : files) { list.add(doGet(file)); } return list; -} + } } \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/PathStorage.java b/src/ru/javawebinar/basejava/storage/PathStorage.java new file mode 100644 index 00000000..3ac6de7d --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/PathStorage.java @@ -0,0 +1,106 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.exception.StorageException; +import ru.javawebinar.basejava.model.Resume; +import ru.javawebinar.basejava.storage.serializer.StreamSerializer; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class PathStorage extends AbstractStorage { + private Path directory; + + private StreamSerializer streamSerializer; + + protected PathStorage(String dir, StreamSerializer streamSerializer) { + Objects.requireNonNull(dir, "directory must not be null"); + + this.streamSerializer = streamSerializer; + directory = Paths.get(dir); + if (!Files.isDirectory(directory) || !Files.isWritable(directory)) { + throw new IllegalArgumentException(dir + " is not directory or is not writable"); + } + } + + @Override + public void clear() { + getFilesList().forEach(this::doDelete); + } + + @Override + public int size() { + return (int) getFilesList().count(); + } + + @Override + protected Path getSearchKey(String uuid) { + return directory.resolve(uuid); + } + + @Override + protected void doUpdate(Resume r, Path path) { + try { + streamSerializer.doWrite(r, new BufferedOutputStream(Files.newOutputStream(path))); + } catch (IOException e) { + throw new StorageException("Path write error", r.getUuid(), e); + } + } + + @Override + protected boolean isExist(Path path) { + return Files.isRegularFile(path); + } + + @Override + protected void doSave(Resume r, Path path) { + try { + Files.createFile(path); + } catch (IOException e) { + throw new StorageException("Couldn't create path " + path, getFileName(path), e); + } + doUpdate(r, path); + } + + @Override + protected Resume doGet(Path path) { + try { + return streamSerializer.doRead(new BufferedInputStream(Files.newInputStream(path))); + } catch (IOException e) { + throw new StorageException("Path read error", getFileName(path), e); + } + } + + @Override + protected void doDelete(Path path) { + try { + Files.delete(path); + } catch (IOException e) { + throw new StorageException("Path delete error", getFileName(path), e); + } + } + + @Override + protected List doCopyAll() { + return getFilesList().map(this::doGet).collect(Collectors.toList()); + } + + private String getFileName(Path path) { + return path.getFileName().toString(); + } + + private Stream getFilesList() { + try { + return Files.list(directory); + } catch (IOException e) { + throw new StorageException("Directory read error", e); + } + } +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/ObjectStreamStorage.java b/src/ru/javawebinar/basejava/storage/serializer/ObjectStreamSerializer.java similarity index 60% rename from src/ru/javawebinar/basejava/storage/ObjectStreamStorage.java rename to src/ru/javawebinar/basejava/storage/serializer/ObjectStreamSerializer.java index 79b891b1..5718c7a9 100644 --- a/src/ru/javawebinar/basejava/storage/ObjectStreamStorage.java +++ b/src/ru/javawebinar/basejava/storage/serializer/ObjectStreamSerializer.java @@ -1,28 +1,28 @@ -package ru.javawebinar.basejava.storage; +package ru.javawebinar.basejava.storage.serializer; import ru.javawebinar.basejava.exception.StorageException; import ru.javawebinar.basejava.model.Resume; import java.io.*; -public class ObjectStreamStorage extends AbstractFileStorage { - protected ObjectStreamStorage(File directory) { - super(directory); - } +/** + * Created by val on 2017-08-05. + */ +public class ObjectStreamSerializer implements StreamSerializer { @Override - protected void doWrite(Resume r, OutputStream os) throws IOException { + public void doWrite(Resume r, OutputStream os) throws IOException { try (ObjectOutputStream oos = new ObjectOutputStream(os)) { oos.writeObject(r); } } @Override - protected Resume doRead(InputStream is) throws IOException { + public Resume doRead(InputStream is) throws IOException { try (ObjectInputStream ois = new ObjectInputStream(is)) { return (Resume) ois.readObject(); } catch (ClassNotFoundException e) { throw new StorageException("Error read resume", null, e); } } -} +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/serializer/StreamSerializer.java b/src/ru/javawebinar/basejava/storage/serializer/StreamSerializer.java new file mode 100644 index 00000000..9f926047 --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/serializer/StreamSerializer.java @@ -0,0 +1,16 @@ +package ru.javawebinar.basejava.storage.serializer; + +import ru.javawebinar.basejava.model.Resume; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +/** + * Created by val on 2017-08-05. + */ +public interface StreamSerializer { + void doWrite(Resume r, OutputStream os) throws IOException; + + Resume doRead(InputStream is) throws IOException; +} diff --git a/test/ru/javawebinar/basejava/storage/AllStorageTest.java b/test/ru/javawebinar/basejava/storage/AllStorageTest.java index d58b8dd3..fc51e2d5 100644 --- a/test/ru/javawebinar/basejava/storage/AllStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AllStorageTest.java @@ -10,7 +10,9 @@ SortedArrayStorageTest.class, ListStorageTest.class, MapUuidStorageTest.class, - MapResumeStorageTest.class + MapResumeStorageTest.class, + ObjectPathStorageTest.class, + ObjectFileStorageTest.class }) public class AllStorageTest { } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/ObjectFileStorageTest.java b/test/ru/javawebinar/basejava/storage/ObjectFileStorageTest.java new file mode 100644 index 00000000..9994f4bf --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/ObjectFileStorageTest.java @@ -0,0 +1,10 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.storage.serializer.ObjectStreamSerializer; + +public class ObjectFileStorageTest extends AbstractStorageTest { + + public ObjectFileStorageTest() { + super(new FileStorage(STORAGE_DIR, new ObjectStreamSerializer())); + } +} diff --git a/test/ru/javawebinar/basejava/storage/ObjectPathStorageTest.java b/test/ru/javawebinar/basejava/storage/ObjectPathStorageTest.java new file mode 100644 index 00000000..b25fc71a --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/ObjectPathStorageTest.java @@ -0,0 +1,10 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.storage.serializer.ObjectStreamSerializer; + +public class ObjectPathStorageTest extends AbstractStorageTest { + + public ObjectPathStorageTest() { + super(new PathStorage(STORAGE_DIR.getAbsolutePath(), new ObjectStreamSerializer())); + } +} From 91a147fd572f4300e5e06b69884cc68ba09bfe51 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Sat, 9 Mar 2019 19:36:07 +0200 Subject: [PATCH 26/41] Lesson10 xml --- src/ru/javawebinar/basejava/model/Resume.java | 26 ++++++----- .../serializer/XmlStreamSerializer.java | 31 +++++++++++++ .../basejava/util/LocalDateAdapter.java | 16 +++++++ .../javawebinar/basejava/util/XmlParser.java | 45 +++++++++++++++++++ .../basejava/storage/AllStorageTest.java | 3 +- .../basejava/storage/XmlPathStorageTest.java | 10 +++++ 6 files changed, 120 insertions(+), 11 deletions(-) create mode 100644 src/ru/javawebinar/basejava/storage/serializer/XmlStreamSerializer.java create mode 100644 src/ru/javawebinar/basejava/util/LocalDateAdapter.java create mode 100644 src/ru/javawebinar/basejava/util/XmlParser.java create mode 100644 test/ru/javawebinar/basejava/storage/XmlPathStorageTest.java diff --git a/src/ru/javawebinar/basejava/model/Resume.java b/src/ru/javawebinar/basejava/model/Resume.java index d154e49a..8a70aa68 100644 --- a/src/ru/javawebinar/basejava/model/Resume.java +++ b/src/ru/javawebinar/basejava/model/Resume.java @@ -1,21 +1,30 @@ package ru.javawebinar.basejava.model; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; import java.io.Serializable; import java.util.EnumMap; import java.util.Map; import java.util.Objects; import java.util.UUID; +@XmlRootElement //Для преобразования в XML +@XmlAccessorType(XmlAccessType.FIELD)//Работай с полями смотри на поля (чтоб не писать гетеры и сетеры) public class Resume implements Comparable, Serializable { private static final long serialVersionUID = 1L; + // Unique identifier - private final String uuid; + private String uuid; - private final String fullName; + private String fullName; private final Map contacts = new EnumMap<>(ContactType.class); private final Map sections = new EnumMap<>(SectionType.class); + public Resume() { + } + public Resume(String fullName) { this(UUID.randomUUID().toString(), fullName); } @@ -51,19 +60,16 @@ public void addSection(SectionType type, Section section) { public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - Resume resume = (Resume) o; - - if (!uuid.equals(resume.uuid)) return false; - return fullName.equals(resume.fullName); - + return Objects.equals(uuid, resume.uuid) && + Objects.equals(fullName, resume.fullName) && + Objects.equals(contacts, resume.contacts) && + Objects.equals(sections, resume.sections); } @Override public int hashCode() { - int result = uuid.hashCode(); - result = 31 * result + fullName.hashCode(); - return result; + return Objects.hash(uuid, fullName, contacts, sections); } @Override diff --git a/src/ru/javawebinar/basejava/storage/serializer/XmlStreamSerializer.java b/src/ru/javawebinar/basejava/storage/serializer/XmlStreamSerializer.java new file mode 100644 index 00000000..c5c75a59 --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/serializer/XmlStreamSerializer.java @@ -0,0 +1,31 @@ +package ru.javawebinar.basejava.storage.serializer; + +import ru.javawebinar.basejava.model.*; +import ru.javawebinar.basejava.util.XmlParser; + +import java.io.*; +import java.nio.charset.StandardCharsets; + +public class XmlStreamSerializer implements StreamSerializer { + private XmlParser xmlParser; + + public XmlStreamSerializer() { + xmlParser = new XmlParser( + Resume.class, Organization.class, Link.class, + OrganizationSection.class, TextSection.class, ListSection.class, Organization.Position.class); + } + + @Override + public void doWrite(Resume r, OutputStream os) throws IOException { + try (Writer w = new OutputStreamWriter(os, StandardCharsets.UTF_8)) { + xmlParser.marshall(r, w); + } + } + + @Override + public Resume doRead(InputStream is) throws IOException { + try (Reader r = new InputStreamReader(is, StandardCharsets.UTF_8)) { + return xmlParser.unmarshall(r); + } + } +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/util/LocalDateAdapter.java b/src/ru/javawebinar/basejava/util/LocalDateAdapter.java new file mode 100644 index 00000000..3f22b250 --- /dev/null +++ b/src/ru/javawebinar/basejava/util/LocalDateAdapter.java @@ -0,0 +1,16 @@ +package ru.javawebinar.basejava.util; + +import javax.xml.bind.annotation.adapters.XmlAdapter; +import java.time.LocalDate; + +public class LocalDateAdapter extends XmlAdapter { + @Override + public LocalDate unmarshal(String str) throws Exception { + return LocalDate.parse(str); + } + + @Override + public String marshal(LocalDate ld) throws Exception { + return ld.toString(); + } +} diff --git a/src/ru/javawebinar/basejava/util/XmlParser.java b/src/ru/javawebinar/basejava/util/XmlParser.java new file mode 100644 index 00000000..47fafcea --- /dev/null +++ b/src/ru/javawebinar/basejava/util/XmlParser.java @@ -0,0 +1,45 @@ +package ru.javawebinar.basejava.util; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import javax.xml.bind.Unmarshaller; +import java.io.Reader; +import java.io.Writer; + +public class XmlParser { + private final Marshaller marshaller; + private final Unmarshaller unmarshaller; + + public XmlParser(Class... classesToBeBound) { + try { + JAXBContext ctx = JAXBContext.newInstance(classesToBeBound); + + marshaller = ctx.createMarshaller(); + marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); +// marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true); + + unmarshaller = ctx.createUnmarshaller(); + } catch (JAXBException e) { + throw new IllegalStateException(e); + } + } + + public T unmarshall(Reader reader) { + try { + return (T) unmarshaller.unmarshal(reader); + } catch (JAXBException e) { + throw new IllegalStateException(e); + } + } + + public void marshall(Object instance, Writer writer) { + try { + marshaller.marshal(instance, writer); + } catch (JAXBException e) { + throw new IllegalStateException(e); + } + } +} + diff --git a/test/ru/javawebinar/basejava/storage/AllStorageTest.java b/test/ru/javawebinar/basejava/storage/AllStorageTest.java index fc51e2d5..b0c38d87 100644 --- a/test/ru/javawebinar/basejava/storage/AllStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AllStorageTest.java @@ -11,8 +11,9 @@ ListStorageTest.class, MapUuidStorageTest.class, MapResumeStorageTest.class, + ObjectFileStorageTest.class, ObjectPathStorageTest.class, - ObjectFileStorageTest.class + XmlPathStorageTest.class }) public class AllStorageTest { } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/XmlPathStorageTest.java b/test/ru/javawebinar/basejava/storage/XmlPathStorageTest.java new file mode 100644 index 00000000..b3d7a431 --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/XmlPathStorageTest.java @@ -0,0 +1,10 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.storage.serializer.XmlStreamSerializer; + +public class XmlPathStorageTest extends AbstractStorageTest { + + public XmlPathStorageTest() { + super(new PathStorage(STORAGE_DIR.getAbsolutePath(), new XmlStreamSerializer())); + } +} From 6e9ef29b850d3f92d912e86b3a69454fb8281ebf Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Sat, 9 Mar 2019 19:41:57 +0200 Subject: [PATCH 27/41] Lesson10 json --- .../serializer/JsonStreamSerializer.java | 25 ++++++++++++++ .../javawebinar/basejava/util/JsonParser.java | 23 +++++++++++++ .../basejava/util/JsonSectionAdapter.java | 34 +++++++++++++++++++ .../basejava/storage/AllStorageTest.java | 3 +- .../basejava/storage/JsonPathStorageTest.java | 10 ++++++ 5 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 src/ru/javawebinar/basejava/storage/serializer/JsonStreamSerializer.java create mode 100644 src/ru/javawebinar/basejava/util/JsonParser.java create mode 100644 src/ru/javawebinar/basejava/util/JsonSectionAdapter.java create mode 100644 test/ru/javawebinar/basejava/storage/JsonPathStorageTest.java diff --git a/src/ru/javawebinar/basejava/storage/serializer/JsonStreamSerializer.java b/src/ru/javawebinar/basejava/storage/serializer/JsonStreamSerializer.java new file mode 100644 index 00000000..595f5476 --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/serializer/JsonStreamSerializer.java @@ -0,0 +1,25 @@ +package ru.javawebinar.basejava.storage.serializer; + +import ru.javawebinar.basejava.model.Resume; +import ru.javawebinar.basejava.util.JsonParser; + +import java.io.*; +import java.nio.charset.StandardCharsets; + +public class JsonStreamSerializer implements StreamSerializer { + + @Override + public void doWrite(Resume r, OutputStream os) throws IOException { + try (Writer writer = new OutputStreamWriter(os, StandardCharsets.UTF_8)) { + JsonParser.write(r, writer); + } + } + + @Override + public Resume doRead(InputStream is) throws IOException { + try (Reader reader = new InputStreamReader(is, StandardCharsets.UTF_8)) { + return JsonParser.read(reader, Resume.class); + } + } +} + diff --git a/src/ru/javawebinar/basejava/util/JsonParser.java b/src/ru/javawebinar/basejava/util/JsonParser.java new file mode 100644 index 00000000..913b2582 --- /dev/null +++ b/src/ru/javawebinar/basejava/util/JsonParser.java @@ -0,0 +1,23 @@ +package ru.javawebinar.basejava.util; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import ru.javawebinar.basejava.model.Section; + +import java.io.Reader; +import java.io.Writer; + +public class JsonParser { + private static Gson GSON = new GsonBuilder() + .registerTypeAdapter(Section.class, new JsonSectionAdapter()) + .create(); + + public static T read(Reader reader, Class clazz) { + return GSON.fromJson(reader, clazz); + } + + public static void write(T object, Writer writer) { + GSON.toJson(object, writer); + } + +} diff --git a/src/ru/javawebinar/basejava/util/JsonSectionAdapter.java b/src/ru/javawebinar/basejava/util/JsonSectionAdapter.java new file mode 100644 index 00000000..e2d61457 --- /dev/null +++ b/src/ru/javawebinar/basejava/util/JsonSectionAdapter.java @@ -0,0 +1,34 @@ +package ru.javawebinar.basejava.util; + +import com.google.gson.*; + +import java.lang.reflect.Type; + +public class JsonSectionAdapter implements JsonSerializer, JsonDeserializer { + private static final String CLASSNAME = "CLASSNAME"; + private static final String INSTANCE = "INSTANCE"; + + @Override + public T deserialize(JsonElement json, Type type, JsonDeserializationContext context) throws JsonParseException { + JsonObject jsonObject = json.getAsJsonObject(); + JsonPrimitive prim = (JsonPrimitive) jsonObject.get(CLASSNAME); + String className = prim.getAsString(); + + try { + Class clazz = Class.forName(className); + return context.deserialize(jsonObject.get(INSTANCE), clazz); + } catch (ClassNotFoundException e) { + throw new JsonParseException(e.getMessage()); + } + } + + + @Override + public JsonElement serialize(T section, Type type, JsonSerializationContext context) { + JsonObject retValue = new JsonObject(); + retValue.addProperty(CLASSNAME, section.getClass().getName()); + JsonElement elem = context.serialize(section); + retValue.add(INSTANCE, elem); + return retValue; + } +} diff --git a/test/ru/javawebinar/basejava/storage/AllStorageTest.java b/test/ru/javawebinar/basejava/storage/AllStorageTest.java index b0c38d87..40670c34 100644 --- a/test/ru/javawebinar/basejava/storage/AllStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AllStorageTest.java @@ -13,7 +13,8 @@ MapResumeStorageTest.class, ObjectFileStorageTest.class, ObjectPathStorageTest.class, - XmlPathStorageTest.class + XmlPathStorageTest.class, + JsonPathStorageTest.class }) public class AllStorageTest { } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/JsonPathStorageTest.java b/test/ru/javawebinar/basejava/storage/JsonPathStorageTest.java new file mode 100644 index 00000000..ddff19a3 --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/JsonPathStorageTest.java @@ -0,0 +1,10 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.storage.serializer.JsonStreamSerializer; + +public class JsonPathStorageTest extends AbstractStorageTest { + + public JsonPathStorageTest() { + super(new PathStorage(STORAGE_DIR.getAbsolutePath(), new JsonStreamSerializer())); + } +} From 509e21faed89ae48a39dabc68bf84013618f343c Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Mon, 11 Mar 2019 12:40:17 +0200 Subject: [PATCH 28/41] Lesson10 DataStream --- src/ru/javawebinar/basejava/model/Resume.java | 16 +++++++- .../serializer/DataStreamSerializer.java | 40 +++++++++++++++++++ .../javawebinar/basejava/util/XmlParser.java | 6 ++- .../basejava/storage/AllStorageTest.java | 3 +- .../basejava/storage/DataPathStorageTest.java | 11 +++++ .../basejava/storage/JsonPathStorageTest.java | 1 + .../basejava/storage/XmlPathStorageTest.java | 1 + 7 files changed, 73 insertions(+), 5 deletions(-) create mode 100644 src/ru/javawebinar/basejava/storage/serializer/DataStreamSerializer.java create mode 100644 test/ru/javawebinar/basejava/storage/DataPathStorageTest.java diff --git a/src/ru/javawebinar/basejava/model/Resume.java b/src/ru/javawebinar/basejava/model/Resume.java index 8a70aa68..bc5b0955 100644 --- a/src/ru/javawebinar/basejava/model/Resume.java +++ b/src/ru/javawebinar/basejava/model/Resume.java @@ -9,8 +9,8 @@ import java.util.Objects; import java.util.UUID; -@XmlRootElement //Для преобразования в XML -@XmlAccessorType(XmlAccessType.FIELD)//Работай с полями смотри на поля (чтоб не писать гетеры и сетеры) +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD)// Работай с полями смотри на поля а не на гетеры и сетеры public class Resume implements Comparable, Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +40,18 @@ public String getUuid() { return uuid; } + public String getFullName() { + return fullName; + } + + public Map getContacts() { + return contacts; + } + + public Map getSections() { + return sections; + } + public String getContact(ContactType type) { return contacts.get(type); } diff --git a/src/ru/javawebinar/basejava/storage/serializer/DataStreamSerializer.java b/src/ru/javawebinar/basejava/storage/serializer/DataStreamSerializer.java new file mode 100644 index 00000000..4350c39f --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/serializer/DataStreamSerializer.java @@ -0,0 +1,40 @@ +package ru.javawebinar.basejava.storage.serializer; + +import ru.javawebinar.basejava.model.ContactType; +import ru.javawebinar.basejava.model.Resume; + +import java.io.*; +import java.util.Map; + +public class DataStreamSerializer implements StreamSerializer { + + @Override + public void doWrite(Resume r, OutputStream os) throws IOException { + try (DataOutputStream dos = new DataOutputStream(os)) { + dos.writeUTF(r.getUuid()); + dos.writeUTF(r.getFullName()); + Map contacts = r.getContacts(); + dos.writeInt(contacts.size()); + for (Map.Entry entry : contacts.entrySet()) { + dos.writeUTF(entry.getKey().name()); + dos.writeUTF(entry.getValue()); + } + // TODO implements sections + } + } + + @Override + public Resume doRead(InputStream is) throws IOException { + try (DataInputStream dis = new DataInputStream(is)) { + String uuid = dis.readUTF(); + String fullName = dis.readUTF(); + Resume resume = new Resume(uuid, fullName); + int size = dis.readInt(); + for (int i = 0; i < size; i++) { + resume.addContact(ContactType.valueOf(dis.readUTF()), dis.readUTF()); + } + // TODO implements sections + return resume; + } + } +} diff --git a/src/ru/javawebinar/basejava/util/XmlParser.java b/src/ru/javawebinar/basejava/util/XmlParser.java index 47fafcea..6e7aa88e 100644 --- a/src/ru/javawebinar/basejava/util/XmlParser.java +++ b/src/ru/javawebinar/basejava/util/XmlParser.java @@ -14,13 +14,15 @@ public class XmlParser { public XmlParser(Class... classesToBeBound) { try { JAXBContext ctx = JAXBContext.newInstance(classesToBeBound); + //Создаем контекст по этим классам которые будем сирелизовать - marshaller = ctx.createMarshaller(); + marshaller = ctx.createMarshaller();// Созадем маршаллер marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + // Созадем проперти форматируем красиво не в одну строчку marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); // marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true); - unmarshaller = ctx.createUnmarshaller(); + unmarshaller = ctx.createUnmarshaller();// онмаршалер просто } catch (JAXBException e) { throw new IllegalStateException(e); } diff --git a/test/ru/javawebinar/basejava/storage/AllStorageTest.java b/test/ru/javawebinar/basejava/storage/AllStorageTest.java index 40670c34..bf001161 100644 --- a/test/ru/javawebinar/basejava/storage/AllStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AllStorageTest.java @@ -14,7 +14,8 @@ ObjectFileStorageTest.class, ObjectPathStorageTest.class, XmlPathStorageTest.class, - JsonPathStorageTest.class + JsonPathStorageTest.class, + DataPathStorageTest.class }) public class AllStorageTest { } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/DataPathStorageTest.java b/test/ru/javawebinar/basejava/storage/DataPathStorageTest.java new file mode 100644 index 00000000..f895fc44 --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/DataPathStorageTest.java @@ -0,0 +1,11 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.storage.serializer.DataStreamSerializer; + +public class DataPathStorageTest extends AbstractStorageTest { + + public DataPathStorageTest() { + + super(new PathStorage(STORAGE_DIR.getAbsolutePath(), new DataStreamSerializer())); + } +} diff --git a/test/ru/javawebinar/basejava/storage/JsonPathStorageTest.java b/test/ru/javawebinar/basejava/storage/JsonPathStorageTest.java index ddff19a3..a43d57b8 100644 --- a/test/ru/javawebinar/basejava/storage/JsonPathStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/JsonPathStorageTest.java @@ -5,6 +5,7 @@ public class JsonPathStorageTest extends AbstractStorageTest { public JsonPathStorageTest() { + super(new PathStorage(STORAGE_DIR.getAbsolutePath(), new JsonStreamSerializer())); } } diff --git a/test/ru/javawebinar/basejava/storage/XmlPathStorageTest.java b/test/ru/javawebinar/basejava/storage/XmlPathStorageTest.java index b3d7a431..6b522ded 100644 --- a/test/ru/javawebinar/basejava/storage/XmlPathStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/XmlPathStorageTest.java @@ -5,6 +5,7 @@ public class XmlPathStorageTest extends AbstractStorageTest { public XmlPathStorageTest() { + super(new PathStorage(STORAGE_DIR.getAbsolutePath(), new XmlStreamSerializer())); } } From 5904ce456183c3ee6ccd9e9a40278fc056036cfc Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Mon, 11 Mar 2019 13:34:24 +0200 Subject: [PATCH 29/41] =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=20Le?= =?UTF-8?q?sson11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../javawebinar/basejava/MainConcurrency.java | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/ru/javawebinar/basejava/MainConcurrency.java diff --git a/src/ru/javawebinar/basejava/MainConcurrency.java b/src/ru/javawebinar/basejava/MainConcurrency.java new file mode 100644 index 00000000..c2c921eb --- /dev/null +++ b/src/ru/javawebinar/basejava/MainConcurrency.java @@ -0,0 +1,72 @@ +package ru.javawebinar.basejava; + +import java.util.ArrayList; +import java.util.List; + +public class MainConcurrency { + public static final int THREADS_NUMBER = 10000; + private int counter; + private static final Object LOCK = new Object(); + + public static void main(String[] args) throws InterruptedException { + System.out.println(Thread.currentThread().getName()); + + Thread thread0 = new Thread() { + @Override + public void run() { + System.out.println(getName() + ", " + getState()); + throw new IllegalStateException(); + } + }; + thread0.start(); + + new Thread(new Runnable() { + + @Override + public void run() { + System.out.println(Thread.currentThread().getName() + ", " + Thread.currentThread().getState()); + } + + private void inc() { + synchronized (this) { +// counter++; + } + } + + }).start(); + + System.out.println(thread0.getState()); + + final MainConcurrency mainConcurrency = new MainConcurrency(); + List threads = new ArrayList<>(THREADS_NUMBER); + + for (int i = 0; i < THREADS_NUMBER; i++) { + Thread thread = new Thread(() -> { + for (int j = 0; j < 100; j++) { + mainConcurrency.inc(); + } + }); + thread.start(); + threads.add(thread); + } + + threads.forEach(t -> { + try { + t.join(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }); + System.out.println(mainConcurrency.counter); + } + + private synchronized void inc() { +// synchronized (this) { +// synchronized (MainConcurrency.class) { + counter++; +// wait(); +// readFile +// ... +// } + } +} \ No newline at end of file From 01714dbda060f6bdd1244aa8c4148cf523e23099 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Mon, 11 Mar 2019 14:57:01 +0200 Subject: [PATCH 30/41] =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=20Le?= =?UTF-8?q?sson11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../javawebinar/basejava/LazySingleton.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/ru/javawebinar/basejava/LazySingleton.java diff --git a/src/ru/javawebinar/basejava/LazySingleton.java b/src/ru/javawebinar/basejava/LazySingleton.java new file mode 100644 index 00000000..223ce3f7 --- /dev/null +++ b/src/ru/javawebinar/basejava/LazySingleton.java @@ -0,0 +1,24 @@ +package ru.javawebinar.basejava; + +public class LazySingleton { + volatile private static LazySingleton INSTANCE; + + private LazySingleton() { + } + + private static class LazySingletonHolder { + private static final LazySingleton INSTANCE = new LazySingleton(); + } + + public static LazySingleton getInstance() { + return LazySingletonHolder.INSTANCE; +// if (INSTANCE == null) { +// synchronized (LazySingleton.class) { +// if (INSTANCE == null) { +// INSTANCE = new LazySingleton(); +// } +// } +// } +// return INSTANCE; + } +} \ No newline at end of file From dc533644792e6d170f3906b9cfe19d688dae2d20 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Mon, 11 Mar 2019 15:39:10 +0200 Subject: [PATCH 31/41] Lesson12 HW11 --- .../javawebinar/basejava/MainConcurrency.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/ru/javawebinar/basejava/MainConcurrency.java b/src/ru/javawebinar/basejava/MainConcurrency.java index c2c921eb..9dc70a31 100644 --- a/src/ru/javawebinar/basejava/MainConcurrency.java +++ b/src/ru/javawebinar/basejava/MainConcurrency.java @@ -58,6 +58,30 @@ private void inc() { } }); System.out.println(mainConcurrency.counter); + + final String lock1 = "lock1"; + final String lock2 = "lock2"; + deadLock(lock1, lock2); + deadLock(lock2, lock1); + + } + + private static void deadLock(Object lock1, Object lock2) { + new Thread(() -> { + System.out.println("Waiting " + lock1); + synchronized (lock1) { + System.out.println("Holding " + lock1); + try { + Thread.sleep(50); + } catch (InterruptedException e) { + e.printStackTrace(); + } + System.out.println("Waiting " + lock2); + synchronized (lock2) { + System.out.println("Holding " + lock2); + } + } + }).start(); } private synchronized void inc() { From 56a639b2dc0de9ecf5b5a89e553c58626e054cba Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Mon, 11 Mar 2019 15:43:16 +0200 Subject: [PATCH 32/41] Lesson12 Concurrency --- .../javawebinar/basejava/MainConcurrency.java | 76 ++++++++++++++----- 1 file changed, 58 insertions(+), 18 deletions(-) diff --git a/src/ru/javawebinar/basejava/MainConcurrency.java b/src/ru/javawebinar/basejava/MainConcurrency.java index 9dc70a31..ab57affe 100644 --- a/src/ru/javawebinar/basejava/MainConcurrency.java +++ b/src/ru/javawebinar/basejava/MainConcurrency.java @@ -1,12 +1,32 @@ package ru.javawebinar.basejava; -import java.util.ArrayList; -import java.util.List; - +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReentrantReadWriteLock; + +/** + * gkislin + * 29.08.2016 + */ public class MainConcurrency { public static final int THREADS_NUMBER = 10000; private int counter; - private static final Object LOCK = new Object(); + private final AtomicInteger atomicCounter = new AtomicInteger(); + + // private static final Object LOCK = new Object(); +// private static final Lock lock = new ReentrantLock(); + private static final ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(); + private static final Lock WRITE_LOCK = reentrantReadWriteLock.writeLock(); + private static final Lock READ_LOCK = reentrantReadWriteLock.readLock(); + private static final ThreadLocal threadLocal = new ThreadLocal() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat(); + } + }; public static void main(String[] args) throws InterruptedException { System.out.println(Thread.currentThread().getName()); @@ -15,7 +35,7 @@ public static void main(String[] args) throws InterruptedException { @Override public void run() { System.out.println(getName() + ", " + getState()); - throw new IllegalStateException(); +// throw new IllegalStateException(); } }; thread0.start(); @@ -38,18 +58,29 @@ private void inc() { System.out.println(thread0.getState()); final MainConcurrency mainConcurrency = new MainConcurrency(); - List threads = new ArrayList<>(THREADS_NUMBER); + CountDownLatch latch = new CountDownLatch(THREADS_NUMBER); + ExecutorService executorService = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()); +// CompletionService completionService = new ExecutorCompletionService(executorService); +// +// List threads = new ArrayList<>(THREADS_NUMBER); for (int i = 0; i < THREADS_NUMBER; i++) { - Thread thread = new Thread(() -> { + + Future future = executorService.submit(() -> +// Thread thread = new Thread(() -> + { for (int j = 0; j < 100; j++) { mainConcurrency.inc(); + System.out.println(threadLocal.get().format(new Date())); } + latch.countDown(); + return 5; }); - thread.start(); - threads.add(thread); +// thread.start(); +// threads.add(thread); } +/* threads.forEach(t -> { try { t.join(); @@ -57,13 +88,16 @@ private void inc() { e.printStackTrace(); } }); - System.out.println(mainConcurrency.counter); - - final String lock1 = "lock1"; - final String lock2 = "lock2"; - deadLock(lock1, lock2); - deadLock(lock2, lock1); - +*/ + latch.await(10, TimeUnit.SECONDS); + executorService.shutdown(); +// System.out.println(mainConcurrency.counter); + System.out.println(mainConcurrency.atomicCounter.get()); + +// final String lock1 = "lock1"; +// final String lock2 = "lock2"; +// deadLock(lock1, lock2); +// deadLock(lock2, lock1); } private static void deadLock(Object lock1, Object lock2) { @@ -84,10 +118,16 @@ private static void deadLock(Object lock1, Object lock2) { }).start(); } - private synchronized void inc() { + private void inc() { // synchronized (this) { // synchronized (MainConcurrency.class) { - counter++; +// WRITE_LOCK.lock(); +// try { + atomicCounter.incrementAndGet(); +// counter++; +// } finally { +// WRITE_LOCK.unlock(); +// } // wait(); // readFile // ... From 2a297ee9efc5aa044667980413930d37e324c65d Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Mon, 11 Mar 2019 21:45:31 +0200 Subject: [PATCH 33/41] Lesson13 Init DB --- config/init_db.sql | 13 ++ .../serializer/DataStreamSerializer.java | 112 ++++++++++++++++-- 2 files changed, 117 insertions(+), 8 deletions(-) create mode 100644 config/init_db.sql diff --git a/config/init_db.sql b/config/init_db.sql new file mode 100644 index 00000000..88bad824 --- /dev/null +++ b/config/init_db.sql @@ -0,0 +1,13 @@ +CREATE TABLE resume ( + uuid CHAR(36) PRIMARY KEY NOT NULL, + full_name TEXT NOT NULL +); + +CREATE TABLE contact ( + id SERIAL, + resume_uuid CHAR(36) NOT NULL REFERENCES resume (uuid) ON DELETE CASCADE, + type TEXT NOT NULL, + value TEXT NOT NULL +); +CREATE UNIQUE INDEX contact_uuid_type_index + ON contact (resume_uuid, type); \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/serializer/DataStreamSerializer.java b/src/ru/javawebinar/basejava/storage/serializer/DataStreamSerializer.java index 4350c39f..5c8e2cdc 100644 --- a/src/ru/javawebinar/basejava/storage/serializer/DataStreamSerializer.java +++ b/src/ru/javawebinar/basejava/storage/serializer/DataStreamSerializer.java @@ -1,9 +1,12 @@ package ru.javawebinar.basejava.storage.serializer; -import ru.javawebinar.basejava.model.ContactType; -import ru.javawebinar.basejava.model.Resume; +import ru.javawebinar.basejava.model.*; import java.io.*; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import java.util.Map; public class DataStreamSerializer implements StreamSerializer { @@ -14,13 +17,49 @@ public void doWrite(Resume r, OutputStream os) throws IOException { dos.writeUTF(r.getUuid()); dos.writeUTF(r.getFullName()); Map contacts = r.getContacts(); - dos.writeInt(contacts.size()); - for (Map.Entry entry : contacts.entrySet()) { + writeCollection(dos, contacts.entrySet(), entry -> { dos.writeUTF(entry.getKey().name()); dos.writeUTF(entry.getValue()); + }); + + writeCollection(dos, r.getSections().entrySet(), entry -> { + SectionType type = entry.getKey(); + Section section = entry.getValue(); + dos.writeUTF(type.name()); + switch (type) { + case PERSONAL: + case OBJECTIVE: + dos.writeUTF(((TextSection) section).getContent()); + break; + case ACHIEVEMENT: + case QUALIFICATIONS: + writeCollection(dos, ((ListSection) section).getItems(), dos::writeUTF); + break; + case EXPERIENCE: + case EDUCATION: + writeCollection(dos, ((OrganizationSection) section).getOrganizations(), org -> { + dos.writeUTF(org.getHomePage().getName()); + dos.writeUTF(org.getHomePage().getUrl()); + writeCollection(dos, org.getPositions(), position -> { + writeLocalDate(dos, position.getStartDate()); + writeLocalDate(dos, position.getEndDate()); + dos.writeUTF(position.getTitle()); + dos.writeUTF(position.getDescription()); + }); + }); + break; + } + }); } - // TODO implements sections } + + private void writeLocalDate(DataOutputStream dos, LocalDate ld) throws IOException { + dos.writeInt(ld.getYear()); + dos.writeInt(ld.getMonth().getValue()); + } + + private LocalDate readLocalDate(DataInputStream dis) throws IOException { + return LocalDate.of(dis.readInt(), dis.readInt(), 1); } @Override @@ -29,12 +68,69 @@ public Resume doRead(InputStream is) throws IOException { String uuid = dis.readUTF(); String fullName = dis.readUTF(); Resume resume = new Resume(uuid, fullName); + readItems(dis, () -> resume.addContact(ContactType.valueOf(dis.readUTF()), dis.readUTF())); + readItems(dis, () -> { + SectionType sectionType = SectionType.valueOf(dis.readUTF()); + resume.addSection(sectionType, readSection(dis, sectionType)); + }); + return resume; + } + } + + private Section readSection(DataInputStream dis, SectionType sectionType) throws IOException { + switch (sectionType) { + case PERSONAL: + case OBJECTIVE: + return new TextSection(dis.readUTF()); + case ACHIEVEMENT: + case QUALIFICATIONS: + return new ListSection(readList(dis, dis::readUTF)); + case EXPERIENCE: + case EDUCATION: + return new OrganizationSection( + readList(dis, () -> new Organization( + new Link(dis.readUTF(), dis.readUTF()), + readList(dis, () -> new Organization.Position( + readLocalDate(dis), readLocalDate(dis), dis.readUTF(), dis.readUTF() + )) + ))); + default: + throw new IllegalStateException(); + } + } + + private List readList(DataInputStream dis, ElementReader reader) throws IOException { int size = dis.readInt(); + List list = new ArrayList<>(size); for (int i = 0; i < size; i++) { - resume.addContact(ContactType.valueOf(dis.readUTF()), dis.readUTF()); + list.add(reader.read()); + } + return list; + } + + private interface ElementProcessor { + void process() throws IOException; + } + + private interface ElementReader { + T read() throws IOException; } - // TODO implements sections - return resume; + + private interface ElementWriter { + void write(T t) throws IOException; } + + private void readItems(DataInputStream dis, ElementProcessor processor) throws IOException { + int size = dis.readInt(); + for (int i = 0; i < size; i++) { + processor.process(); } } + + private void writeCollection(DataOutputStream dos, Collection collection, ElementWriter writer) throws IOException { + dos.writeInt(collection.size()); + for (T item : collection) { + writer.write(item); + } + } +} \ No newline at end of file From fb3c2d3958ab2fc2d95f146a16ba153ecf4dcab4 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Mon, 11 Mar 2019 22:20:40 +0200 Subject: [PATCH 34/41] Lesson13 properties --- config/resumes.properties | 4 +++ src/ru/javawebinar/basejava/Config.java | 32 +++++++++++++++++++ .../basejava/storage/AbstractStorageTest.java | 3 +- 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 config/resumes.properties create mode 100644 src/ru/javawebinar/basejava/Config.java diff --git a/config/resumes.properties b/config/resumes.properties new file mode 100644 index 00000000..e328e7ef --- /dev/null +++ b/config/resumes.properties @@ -0,0 +1,4 @@ +storage.dir=\TEMP +db.url=jdbc:postgresql://localhost:5432/resumes +db.user=postgres +db.password=postgres \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/Config.java b/src/ru/javawebinar/basejava/Config.java new file mode 100644 index 00000000..3b314ec7 --- /dev/null +++ b/src/ru/javawebinar/basejava/Config.java @@ -0,0 +1,32 @@ +package ru.javawebinar.basejava; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; + +public class Config { + private static final File PROPS = new File("config\\resumes.properties"); + private static final Config INSTANCE = new Config(); + + private Properties props = new Properties(); + private File storageDir; + + public static Config get() { + return INSTANCE; + } + + private Config() { + try (InputStream is = new FileInputStream(PROPS)) { + props.load(is); + storageDir = new File(props.getProperty("storage.dir")); + } catch (IOException e) { + throw new IllegalStateException("Invalid config file " + PROPS.getAbsolutePath()); + } + } + + public File getStorageDir() { + return storageDir; + } +} diff --git a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java index 9f055cc0..b5d84b3b 100644 --- a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java @@ -2,6 +2,7 @@ import org.junit.Before; import org.junit.Test; +import ru.javawebinar.basejava.Config; import ru.javawebinar.basejava.exception.ExistStorageException; import ru.javawebinar.basejava.exception.NotExistStorageException; import ru.javawebinar.basejava.model.*; @@ -15,7 +16,7 @@ import static org.junit.Assert.assertTrue; public abstract class AbstractStorageTest { - protected static final File STORAGE_DIR = new File("D:\\TEMP"); + protected static final File STORAGE_DIR = Config.get().getStorageDir(); protected Storage storage; From 18ec4deb4fe667e557db7bb5aacd682d0c5064e3 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Mon, 11 Mar 2019 22:26:12 +0200 Subject: [PATCH 35/41] Lesson13 SqlStorage --- .../basejava/exception/StorageException.java | 4 + .../basejava/sql/ConnectionFactory.java | 8 ++ .../basejava/storage/SqlStorage.java | 75 +++++++++++++++++++ .../basejava/storage/AbstractStorageTest.java | 7 +- 4 files changed, 90 insertions(+), 4 deletions(-) create mode 100644 src/ru/javawebinar/basejava/sql/ConnectionFactory.java create mode 100644 src/ru/javawebinar/basejava/storage/SqlStorage.java diff --git a/src/ru/javawebinar/basejava/exception/StorageException.java b/src/ru/javawebinar/basejava/exception/StorageException.java index d35b94fc..6a3419f2 100644 --- a/src/ru/javawebinar/basejava/exception/StorageException.java +++ b/src/ru/javawebinar/basejava/exception/StorageException.java @@ -12,6 +12,10 @@ public StorageException(String message, String uuid) { this.uuid = uuid; } + public StorageException(Exception e) { + this(e.getMessage(), e); + } + public StorageException(String message, Exception e) { this(message, null, e); } diff --git a/src/ru/javawebinar/basejava/sql/ConnectionFactory.java b/src/ru/javawebinar/basejava/sql/ConnectionFactory.java new file mode 100644 index 00000000..b6e4f0d7 --- /dev/null +++ b/src/ru/javawebinar/basejava/sql/ConnectionFactory.java @@ -0,0 +1,8 @@ +package ru.javawebinar.basejava.sql; + +import java.sql.Connection; +import java.sql.SQLException; + +public interface ConnectionFactory { + Connection getConnection() throws SQLException; +} diff --git a/src/ru/javawebinar/basejava/storage/SqlStorage.java b/src/ru/javawebinar/basejava/storage/SqlStorage.java new file mode 100644 index 00000000..58b08ad9 --- /dev/null +++ b/src/ru/javawebinar/basejava/storage/SqlStorage.java @@ -0,0 +1,75 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.exception.NotExistStorageException; +import ru.javawebinar.basejava.exception.StorageException; +import ru.javawebinar.basejava.model.Resume; +import ru.javawebinar.basejava.sql.ConnectionFactory; + +import java.sql.*; +import java.util.List; + +public class SqlStorage implements Storage { + public final ConnectionFactory connectionFactory; + + public SqlStorage(String dbUrl, String dbUser, String dbPassword) { + connectionFactory = () -> DriverManager.getConnection(dbUrl, dbUser, dbPassword); + } + + @Override + public void clear() { + try (Connection conn = connectionFactory.getConnection(); + PreparedStatement ps = conn.prepareStatement("DELETE FROM resume")) { + ps.execute(); + } catch (SQLException e) { + throw new StorageException(e); + } + } + + @Override + public Resume get(String uuid) { + try (Connection conn = connectionFactory.getConnection(); + PreparedStatement ps = conn.prepareStatement("SELECT * FROM resume r WHERE r.uuid =?")) { + ps.setString(1, uuid); + ResultSet rs = ps.executeQuery(); + if (!rs.next()) { + throw new NotExistStorageException(uuid); + } + return new Resume(uuid, rs.getString("full_name")); + } catch (SQLException e) { + throw new StorageException(e); + } + } + + @Override + public void update(Resume r) { + + } + + @Override + public void save(Resume r) { + try (Connection conn = connectionFactory.getConnection(); + PreparedStatement ps = conn.prepareStatement("INSERT INTO resume (uuid, full_name) VALUES (?,?)")) { + ps.setString(1, r.getUuid()); + ps.setString(2, r.getFullName()); + ps.execute(); + } catch (SQLException e) { + throw new StorageException(e); + } + + } + + @Override + public void delete(String uuid) { + + } + + @Override + public List getAllSorted() { + return null; + } + + @Override + public int size() { + return 0; + } +} diff --git a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java index b5d84b3b..d36c1b0b 100644 --- a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java @@ -5,10 +5,9 @@ import ru.javawebinar.basejava.Config; import ru.javawebinar.basejava.exception.ExistStorageException; import ru.javawebinar.basejava.exception.NotExistStorageException; -import ru.javawebinar.basejava.model.*; +import ru.javawebinar.basejava.model.Resume; import java.io.File; -import java.time.Month; import java.util.Arrays; import java.util.List; @@ -36,7 +35,7 @@ public abstract class AbstractStorageTest { R3 = new Resume(UUID_3, "Name3"); R4 = new Resume(UUID_4, "Name4"); - R1.addContact(ContactType.MAIL, "mail1@ya.ru"); + /*R1.addContact(ContactType.MAIL, "mail1@ya.ru"); R1.addContact(ContactType.PHONE, "11111"); R1.addSection(SectionType.OBJECTIVE, new TextSection("Objective1")); R1.addSection(SectionType.PERSONAL, new TextSection("Personal data")); @@ -58,7 +57,7 @@ public abstract class AbstractStorageTest { R1.addSection(SectionType.EXPERIENCE, new OrganizationSection( new Organization("Organization2", "http://Organization2.ru", - new Organization.Position(2015, Month.JANUARY, "position1", "content1")))); + new Organization.Position(2015, Month.JANUARY, "position1", "content1"))));*/ } protected AbstractStorageTest(Storage storage) { From 8dcf5735041090a229496c6ddfbab23ff610c393 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Tue, 12 Mar 2019 15:28:21 +0200 Subject: [PATCH 36/41] Lesson14 JOIN --- config/populate.sql | 4 + config/resumes.properties | 6 +- lib/postgresql-42.2.1.jar | Bin 0 -> 794639 bytes src/ru/javawebinar/basejava/Config.java | 13 ++- .../basejava/model/SectionType.java | 4 +- .../basejava/sql/ExceptionUtil.java | 23 +++++ .../javawebinar/basejava/sql/SqlHelper.java | 26 +++++ .../basejava/storage/SqlStorage.java | 91 ++++++++++++------ .../basejava/storage/AbstractStorageTest.java | 20 ++-- .../basejava/storage/AllStorageTest.java | 3 +- .../basejava/storage/SqlStorageTest.java | 14 +++ 11 files changed, 161 insertions(+), 43 deletions(-) create mode 100644 config/populate.sql create mode 100644 lib/postgresql-42.2.1.jar create mode 100644 src/ru/javawebinar/basejava/sql/ExceptionUtil.java create mode 100644 src/ru/javawebinar/basejava/sql/SqlHelper.java create mode 100644 test/ru/javawebinar/basejava/storage/SqlStorageTest.java diff --git a/config/populate.sql b/config/populate.sql new file mode 100644 index 00000000..696e843b --- /dev/null +++ b/config/populate.sql @@ -0,0 +1,4 @@ +INSERT INTO resume (uuid, full_name) VALUES + ('7de882da-02f2-4d16-8daa-60660aaf4071', 'Name1'), + ('a97b3ac3-3817-4c3f-8a5f-178497311f1d', 'Name2'), + ('dd0a70d1-5ed3-479a-b452-d5e04f21ca73', 'Name3'); \ No newline at end of file diff --git a/config/resumes.properties b/config/resumes.properties index e328e7ef..f818a955 100644 --- a/config/resumes.properties +++ b/config/resumes.properties @@ -1,4 +1,4 @@ -storage.dir=\TEMP -db.url=jdbc:postgresql://localhost:5432/resumes +storage.dir=C:/projects/basejava/storage +db.url=jdbc:postgresql://localhost:5432/postgres db.user=postgres -db.password=postgres \ No newline at end of file +db.password=a \ No newline at end of file diff --git a/lib/postgresql-42.2.1.jar b/lib/postgresql-42.2.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..e934846ce2242910f18eef5b625d318c8fcdaf3e GIT binary patch literal 794639 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 z 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�Srs~SAZ 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

(}&7f}PLA7u;U=OT9IqY=+Nn`JWhPNkn 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

SKgEBGGAFZhzwCNdGP&57<#QDrinXQ8tX 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�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

6H$>>LXpJn1 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

~?CBi!5kazc3_Y@x)?`M~+Gv^=INBA~YckUC8n# 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 HmFoWh T execute(String sql, SqlExecutor executor) { + try (Connection conn = connectionFactory.getConnection(); + PreparedStatement ps = conn.prepareStatement(sql)) { + return executor.execute(ps); + } catch (SQLException e) { + throw ExceptionUtil.convertException(e); + } + } +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/storage/SqlStorage.java b/src/ru/javawebinar/basejava/storage/SqlStorage.java index 58b08ad9..f382cb97 100644 --- a/src/ru/javawebinar/basejava/storage/SqlStorage.java +++ b/src/ru/javawebinar/basejava/storage/SqlStorage.java @@ -1,75 +1,110 @@ package ru.javawebinar.basejava.storage; import ru.javawebinar.basejava.exception.NotExistStorageException; -import ru.javawebinar.basejava.exception.StorageException; +import ru.javawebinar.basejava.model.ContactType; import ru.javawebinar.basejava.model.Resume; -import ru.javawebinar.basejava.sql.ConnectionFactory; +import ru.javawebinar.basejava.sql.SqlHelper; -import java.sql.*; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.util.ArrayList; import java.util.List; +import java.util.Map; public class SqlStorage implements Storage { - public final ConnectionFactory connectionFactory; + public final SqlHelper sqlHelper; public SqlStorage(String dbUrl, String dbUser, String dbPassword) { - connectionFactory = () -> DriverManager.getConnection(dbUrl, dbUser, dbPassword); + sqlHelper = new SqlHelper(() -> DriverManager.getConnection(dbUrl, dbUser, dbPassword)); } @Override public void clear() { - try (Connection conn = connectionFactory.getConnection(); - PreparedStatement ps = conn.prepareStatement("DELETE FROM resume")) { - ps.execute(); - } catch (SQLException e) { - throw new StorageException(e); - } + sqlHelper.execute("DELETE FROM resume"); } @Override public Resume get(String uuid) { - try (Connection conn = connectionFactory.getConnection(); - PreparedStatement ps = conn.prepareStatement("SELECT * FROM resume r WHERE r.uuid =?")) { + return sqlHelper.execute("" + + " SELECT * FROM resume r " + + " LEFT JOIN contact c " + + " ON r.uuid = c.resume_uuid " + + " WHERE r.uuid =? ", + ps -> { ps.setString(1, uuid); ResultSet rs = ps.executeQuery(); if (!rs.next()) { throw new NotExistStorageException(uuid); } - return new Resume(uuid, rs.getString("full_name")); - } catch (SQLException e) { - throw new StorageException(e); - } + Resume r = new Resume(uuid, rs.getString("full_name")); + do { + String value = rs.getString("value"); + ContactType type = ContactType.valueOf(rs.getString("type")); + r.addContact(type, value); + } while (rs.next()); + + return r; + }); } @Override public void update(Resume r) { - + sqlHelper.execute("UPDATE resume SET full_name = ? WHERE uuid = ?", ps -> { + ps.setString(1, r.getFullName()); + ps.setString(2, r.getUuid()); + if (ps.executeUpdate() == 0) { + throw new NotExistStorageException(r.getUuid()); + } + return null; + }); } @Override public void save(Resume r) { - try (Connection conn = connectionFactory.getConnection(); - PreparedStatement ps = conn.prepareStatement("INSERT INTO resume (uuid, full_name) VALUES (?,?)")) { + sqlHelper.execute("INSERT INTO resume (uuid, full_name) VALUES (?,?)", ps -> { ps.setString(1, r.getUuid()); ps.setString(2, r.getFullName()); ps.execute(); - } catch (SQLException e) { - throw new StorageException(e); - } - + return null; + }); + for (Map.Entry e : r.getContacts().entrySet()) { + sqlHelper.execute("INSERT INTO contact (resume_uuid, type, value) VALUES (?,?,?)", ps -> { + ps.setString(1, r.getUuid()); + ps.setString(2, e.getKey().name()); + ps.setString(3, e.getValue()); + return null; + }); + } } @Override public void delete(String uuid) { - + sqlHelper.execute("DELETE FROM resume WHERE uuid=?", ps -> { + ps.setString(1, uuid); + if (ps.executeUpdate() == 0) { + throw new NotExistStorageException(uuid); + } + return null; + }); } @Override public List getAllSorted() { - return null; + return sqlHelper.execute("SELECT * FROM resume r ORDER BY full_name,uuid", ps -> { + ResultSet rs = ps.executeQuery(); + List resumes = new ArrayList<>(); + while (rs.next()) { + resumes.add(new Resume(rs.getString("uuid"), rs.getString("full_name"))); + } + return resumes; + }); } @Override public int size() { - return 0; + return sqlHelper.execute("SELECT count(*) FROM resume", st -> { + ResultSet rs = st.executeQuery(); + return rs.next() ? rs.getInt(1) : 0; + }); } -} +} \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java index d36c1b0b..5a9c7ead 100644 --- a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java @@ -9,7 +9,9 @@ import java.io.File; import java.util.Arrays; +import java.util.Collections; import java.util.List; +import java.util.UUID; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -19,10 +21,10 @@ public abstract class AbstractStorageTest { protected Storage storage; - private static final String UUID_1 = "uuid1"; - private static final String UUID_2 = "uuid2"; - private static final String UUID_3 = "uuid3"; - private static final String UUID_4 = "uuid4"; + private static final String UUID_1 = UUID.randomUUID().toString(); + private static final String UUID_2 = UUID.randomUUID().toString(); + private static final String UUID_3 = UUID.randomUUID().toString(); + private static final String UUID_4 = UUID.randomUUID().toString(); private static final Resume R1; private static final Resume R2; @@ -35,7 +37,8 @@ public abstract class AbstractStorageTest { R3 = new Resume(UUID_3, "Name3"); R4 = new Resume(UUID_4, "Name4"); - /*R1.addContact(ContactType.MAIL, "mail1@ya.ru"); +/* + R1.addContact(ContactType.MAIL, "mail1@ya.ru"); R1.addContact(ContactType.PHONE, "11111"); R1.addSection(SectionType.OBJECTIVE, new TextSection("Objective1")); R1.addSection(SectionType.PERSONAL, new TextSection("Personal data")); @@ -57,7 +60,8 @@ public abstract class AbstractStorageTest { R1.addSection(SectionType.EXPERIENCE, new OrganizationSection( new Organization("Organization2", "http://Organization2.ru", - new Organization.Position(2015, Month.JANUARY, "position1", "content1"))));*/ + new Organization.Position(2015, Month.JANUARY, "position1", "content1")))); +*/ } protected AbstractStorageTest(Storage storage) { @@ -99,7 +103,9 @@ public void updateNotExist() throws Exception { public void getAllSorted() throws Exception { List list = storage.getAllSorted(); assertEquals(3, list.size()); - assertEquals(list, Arrays.asList(R1, R2, R3)); + List sortedResumes = Arrays.asList(R1, R2, R3); + Collections.sort(sortedResumes); + assertEquals(list, sortedResumes); } @Test diff --git a/test/ru/javawebinar/basejava/storage/AllStorageTest.java b/test/ru/javawebinar/basejava/storage/AllStorageTest.java index bf001161..caa51dcc 100644 --- a/test/ru/javawebinar/basejava/storage/AllStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AllStorageTest.java @@ -15,7 +15,8 @@ ObjectPathStorageTest.class, XmlPathStorageTest.class, JsonPathStorageTest.class, - DataPathStorageTest.class + DataPathStorageTest.class, + SqlStorageTest.class }) public class AllStorageTest { } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/SqlStorageTest.java b/test/ru/javawebinar/basejava/storage/SqlStorageTest.java new file mode 100644 index 00000000..afc89c0d --- /dev/null +++ b/test/ru/javawebinar/basejava/storage/SqlStorageTest.java @@ -0,0 +1,14 @@ +package ru.javawebinar.basejava.storage; + +import ru.javawebinar.basejava.Config; + +/** + * gkislin + * 23.06.2016 + */ +public class SqlStorageTest extends AbstractStorageTest { + + public SqlStorageTest() { + super(Config.get().getStorage()); + } +} From 5e571f2f7f240d74df33f97bd166e8f295baa1f6 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Tue, 12 Mar 2019 18:11:15 +0200 Subject: [PATCH 37/41] Lesson15 HW14 --- config/populate.sql | 2 +- config/populateContact.sql | 3 + .../javawebinar/basejava/sql/SqlHelper.java | 18 +++++ .../basejava/sql/SqlTransaction.java | 8 ++ .../basejava/storage/SqlStorage.java | 73 ++++++++++++++----- .../basejava/storage/AbstractStorageTest.java | 11 ++- 6 files changed, 92 insertions(+), 23 deletions(-) create mode 100644 config/populateContact.sql create mode 100644 src/ru/javawebinar/basejava/sql/SqlTransaction.java diff --git a/config/populate.sql b/config/populate.sql index 696e843b..cbcc93f3 100644 --- a/config/populate.sql +++ b/config/populate.sql @@ -1,4 +1,4 @@ -INSERT INTO resume (uuid, full_name) VALUES +INSERT INTO resumes (uuid, full_name) VALUES ('7de882da-02f2-4d16-8daa-60660aaf4071', 'Name1'), ('a97b3ac3-3817-4c3f-8a5f-178497311f1d', 'Name2'), ('dd0a70d1-5ed3-479a-b452-d5e04f21ca73', 'Name3'); \ No newline at end of file diff --git a/config/populateContact.sql b/config/populateContact.sql new file mode 100644 index 00000000..f476eb2d --- /dev/null +++ b/config/populateContact.sql @@ -0,0 +1,3 @@ +INSERT INTO contact (resume_uuid, type, value) VALUES + ('dd0a70d1-5ed3-479a-b452-d5e04f21ca73', 'PHONE','380505132950'), + ('dd0a70d1-5ed3-479a-b452-d5e04f21ca73', 'SKYPE', 'ip500800') ; \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/sql/SqlHelper.java b/src/ru/javawebinar/basejava/sql/SqlHelper.java index fcfb1f5f..5b5061c9 100644 --- a/src/ru/javawebinar/basejava/sql/SqlHelper.java +++ b/src/ru/javawebinar/basejava/sql/SqlHelper.java @@ -1,5 +1,7 @@ package ru.javawebinar.basejava.sql; +import ru.javawebinar.basejava.exception.StorageException; + import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; @@ -23,4 +25,20 @@ public T execute(String sql, SqlExecutor executor) { throw ExceptionUtil.convertException(e); } } + + public T transactionalExecute(SqlTransaction executor) { + try (Connection conn = connectionFactory.getConnection()) { + try { + conn.setAutoCommit(false); + T res = executor.execute(conn); + conn.commit(); + return res; + } catch (SQLException e) { + conn.rollback(); + throw ExceptionUtil.convertException(e); + } + } catch (SQLException e) { + throw new StorageException(e); + } + } } \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/sql/SqlTransaction.java b/src/ru/javawebinar/basejava/sql/SqlTransaction.java new file mode 100644 index 00000000..bdc04431 --- /dev/null +++ b/src/ru/javawebinar/basejava/sql/SqlTransaction.java @@ -0,0 +1,8 @@ +package ru.javawebinar.basejava.sql; + +import java.sql.Connection; +import java.sql.SQLException; + +public interface SqlTransaction { + T execute(Connection conn) throws SQLException; +} diff --git a/src/ru/javawebinar/basejava/storage/SqlStorage.java b/src/ru/javawebinar/basejava/storage/SqlStorage.java index f382cb97..189146a8 100644 --- a/src/ru/javawebinar/basejava/storage/SqlStorage.java +++ b/src/ru/javawebinar/basejava/storage/SqlStorage.java @@ -5,9 +5,9 @@ import ru.javawebinar.basejava.model.Resume; import ru.javawebinar.basejava.sql.SqlHelper; -import java.sql.DriverManager; -import java.sql.ResultSet; +import java.sql.*; import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -38,9 +38,7 @@ public Resume get(String uuid) { } Resume r = new Resume(uuid, rs.getString("full_name")); do { - String value = rs.getString("value"); - ContactType type = ContactType.valueOf(rs.getString("type")); - r.addContact(type, value); + addContact(rs, r); } while (rs.next()); return r; @@ -49,33 +47,32 @@ public Resume get(String uuid) { @Override public void update(Resume r) { - sqlHelper.execute("UPDATE resume SET full_name = ? WHERE uuid = ?", ps -> { + sqlHelper.transactionalExecute(conn -> { + try (PreparedStatement ps = conn.prepareStatement("UPDATE resume SET full_name = ? WHERE uuid = ?")) { ps.setString(1, r.getFullName()); ps.setString(2, r.getUuid()); - if (ps.executeUpdate() == 0) { + if (ps.executeUpdate() != 1) { throw new NotExistStorageException(r.getUuid()); } + } + deleteContacts(conn, r); + insertContact(conn, r); return null; }); } @Override public void save(Resume r) { - sqlHelper.execute("INSERT INTO resume (uuid, full_name) VALUES (?,?)", ps -> { + sqlHelper.transactionalExecute(conn -> { + try (PreparedStatement ps = conn.prepareStatement("INSERT INTO resume (uuid, full_name) VALUES (?,?)")) { ps.setString(1, r.getUuid()); ps.setString(2, r.getFullName()); ps.execute(); - return null; - }); - for (Map.Entry e : r.getContacts().entrySet()) { - sqlHelper.execute("INSERT INTO contact (resume_uuid, type, value) VALUES (?,?,?)", ps -> { - ps.setString(1, r.getUuid()); - ps.setString(2, e.getKey().name()); - ps.setString(3, e.getValue()); + } + insertContact(conn, r); return null; }); } - } @Override public void delete(String uuid) { @@ -90,13 +87,22 @@ public void delete(String uuid) { @Override public List getAllSorted() { - return sqlHelper.execute("SELECT * FROM resume r ORDER BY full_name,uuid", ps -> { + return sqlHelper.execute("" + + " SELECT * FROM resume r\n" + + "LEFT JOIN contact c ON r.uuid = c.resume_uuid\n" + + "ORDER BY full_name, uuid", ps -> { ResultSet rs = ps.executeQuery(); - List resumes = new ArrayList<>(); + Map map = new LinkedHashMap<>(); while (rs.next()) { - resumes.add(new Resume(rs.getString("uuid"), rs.getString("full_name"))); + String uuid = rs.getString("uuid"); + Resume resume = map.get(uuid); + if (resume == null) { + resume = new Resume(uuid, rs.getString("full_name")); + map.put(uuid, resume); } - return resumes; + addContact(rs, resume); + } + return new ArrayList<>(map.values()); }); } @@ -107,4 +113,31 @@ public int size() { return rs.next() ? rs.getInt(1) : 0; }); } + + private void insertContact(Connection conn, Resume r) throws SQLException { + try (PreparedStatement ps = conn.prepareStatement("INSERT INTO contact (resume_uuid, type, value) VALUES (?,?,?)")) { + for (Map.Entry e : r.getContacts().entrySet()) { + ps.setString(1, r.getUuid()); + ps.setString(2, e.getKey().name()); + ps.setString(3, e.getValue()); + ps.addBatch(); + } + ps.executeBatch(); + } + } + + private void deleteContacts(Connection conn, Resume r) { + sqlHelper.execute("DELETE FROM contact WHERE resume_uuid=?", ps -> { + ps.setString(1, r.getUuid()); + ps.execute(); + return null; + }); + } + + private void addContact(ResultSet rs, Resume r) throws SQLException { + String value = rs.getString("value"); + if (value != null) { + r.addContact(ContactType.valueOf(rs.getString("type")), value); + } + } } \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java index 5a9c7ead..ea359348 100644 --- a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java @@ -5,6 +5,7 @@ import ru.javawebinar.basejava.Config; import ru.javawebinar.basejava.exception.ExistStorageException; import ru.javawebinar.basejava.exception.NotExistStorageException; +import ru.javawebinar.basejava.model.ContactType; import ru.javawebinar.basejava.model.Resume; import java.io.File; @@ -37,9 +38,12 @@ public abstract class AbstractStorageTest { R3 = new Resume(UUID_3, "Name3"); R4 = new Resume(UUID_4, "Name4"); -/* R1.addContact(ContactType.MAIL, "mail1@ya.ru"); R1.addContact(ContactType.PHONE, "11111"); + + R4.addContact(ContactType.PHONE, "44444"); + R4.addContact(ContactType.SKYPE, "Skype"); +/* R1.addSection(SectionType.OBJECTIVE, new TextSection("Objective1")); R1.addSection(SectionType.PERSONAL, new TextSection("Personal data")); R1.addSection(SectionType.ACHIEVEMENT, new ListSection("Achivment11", "Achivment12", "Achivment13")); @@ -90,6 +94,9 @@ public void clear() throws Exception { @Test public void update() throws Exception { Resume newResume = new Resume(UUID_1, "New Name"); + R1.addContact(ContactType.MAIL, "mail1@google.com"); + R1.addContact(ContactType.SKYPE, "NewSkype"); + R1.addContact(ContactType.MOBILE, "+7 921 222-22-22"); storage.update(newResume); assertTrue(newResume.equals(storage.get(UUID_1))); } @@ -105,7 +112,7 @@ public void getAllSorted() throws Exception { assertEquals(3, list.size()); List sortedResumes = Arrays.asList(R1, R2, R3); Collections.sort(sortedResumes); - assertEquals(list, sortedResumes); + assertEquals(sortedResumes, list); } @Test From ace00a3b1da1479c1a739aa0419d7a6f1bd7b12e Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Tue, 12 Mar 2019 19:03:16 +0200 Subject: [PATCH 38/41] Lesson15 web --- src/ru/javawebinar/basejava/storage/SqlStorage.java | 2 ++ src/ru/javawebinar/basejava/web/WEB-INF/index.html | 11 +++++++++++ src/ru/javawebinar/basejava/web/WEB-INF/test.html | 10 ++++++++++ src/ru/javawebinar/basejava/web/WEB-INF/web.xml | 6 ++++++ 4 files changed, 29 insertions(+) create mode 100644 src/ru/javawebinar/basejava/web/WEB-INF/index.html create mode 100644 src/ru/javawebinar/basejava/web/WEB-INF/test.html create mode 100644 src/ru/javawebinar/basejava/web/WEB-INF/web.xml diff --git a/src/ru/javawebinar/basejava/storage/SqlStorage.java b/src/ru/javawebinar/basejava/storage/SqlStorage.java index 189146a8..15d267da 100644 --- a/src/ru/javawebinar/basejava/storage/SqlStorage.java +++ b/src/ru/javawebinar/basejava/storage/SqlStorage.java @@ -11,6 +11,8 @@ import java.util.List; import java.util.Map; +// TODO implement Section (except OrganizationSection) +// TODO Join and split ListSection by `\n` public class SqlStorage implements Storage { public final SqlHelper sqlHelper; diff --git a/src/ru/javawebinar/basejava/web/WEB-INF/index.html b/src/ru/javawebinar/basejava/web/WEB-INF/index.html new file mode 100644 index 00000000..cb94043e --- /dev/null +++ b/src/ru/javawebinar/basejava/web/WEB-INF/index.html @@ -0,0 +1,11 @@ + + + + + Практика Java. Разработка Web приложения. + + +

+ + \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/web/WEB-INF/test.html b/src/ru/javawebinar/basejava/web/WEB-INF/test.html new file mode 100644 index 00000000..9830809c --- /dev/null +++ b/src/ru/javawebinar/basejava/web/WEB-INF/test.html @@ -0,0 +1,10 @@ + + + + + Title + + +Test + + \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/web/WEB-INF/web.xml b/src/ru/javawebinar/basejava/web/WEB-INF/web.xml new file mode 100644 index 00000000..a0b58fd4 --- /dev/null +++ b/src/ru/javawebinar/basejava/web/WEB-INF/web.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file From 48ad69db48d2b2286ff5785d584c0050d1ff263b Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Tue, 12 Mar 2019 20:32:44 +0200 Subject: [PATCH 39/41] Lesson15 static_content --- .../javawebinar/basejava/web/WEB-INF/index.html | 11 ----------- .../basejava/{web => web2}/WEB-INF/web.xml | 0 web/index.html | 15 +++++++++++++++ web/style.css | 14 ++++++++++++++ .../basejava/web/WEB-INF => web}/test.html | 0 5 files changed, 29 insertions(+), 11 deletions(-) delete mode 100644 src/ru/javawebinar/basejava/web/WEB-INF/index.html rename src/ru/javawebinar/basejava/{web => web2}/WEB-INF/web.xml (100%) create mode 100644 web/index.html create mode 100644 web/style.css rename {src/ru/javawebinar/basejava/web/WEB-INF => web}/test.html (100%) diff --git a/src/ru/javawebinar/basejava/web/WEB-INF/index.html b/src/ru/javawebinar/basejava/web/WEB-INF/index.html deleted file mode 100644 index cb94043e..00000000 --- a/src/ru/javawebinar/basejava/web/WEB-INF/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Практика Java. Разработка Web приложения. - - -

Приложение вебинара Практика Java. Разработка Web - приложения."

- - \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/web/WEB-INF/web.xml b/src/ru/javawebinar/basejava/web2/WEB-INF/web.xml similarity index 100% rename from src/ru/javawebinar/basejava/web/WEB-INF/web.xml rename to src/ru/javawebinar/basejava/web2/WEB-INF/web.xml diff --git a/web/index.html b/web/index.html new file mode 100644 index 00000000..b1bef4a3 --- /dev/null +++ b/web/index.html @@ -0,0 +1,15 @@ + + + + + + Курс JavaSE + Web. + + +
Приложение вебинара Практика Java. Разработка Web + приложения."
+

Курс JavaSE + Web

+ + + \ No newline at end of file diff --git a/web/style.css b/web/style.css new file mode 100644 index 00000000..bf3fe119 --- /dev/null +++ b/web/style.css @@ -0,0 +1,14 @@ +header { + background: none repeat scroll 0 0 #A6C9E2; + color: #2E6E9E; + font-size: 20px; + padding: 5px 20px; +} + +footer { + background: none repeat scroll 0 0 #A6C9E2; + color: #2E6E9E; + font-size: 20px; + padding: 5px 20px; + margin: 20px 0; +} \ No newline at end of file diff --git a/src/ru/javawebinar/basejava/web/WEB-INF/test.html b/web/test.html similarity index 100% rename from src/ru/javawebinar/basejava/web/WEB-INF/test.html rename to web/test.html From a295aa5b7b8cbbe5279d6ec9dc001821b26a8e37 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Tue, 12 Mar 2019 20:54:13 +0200 Subject: [PATCH 40/41] Lesson15 servlets --- TEMP/uuid3 | Bin 0 -> 22 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 TEMP/uuid3 diff --git a/TEMP/uuid3 b/TEMP/uuid3 new file mode 100644 index 0000000000000000000000000000000000000000..3cd6d099eedf0d8da01e2cecb0cf85560a1ea031 GIT binary patch literal 22 XcmZQzEiKJVF=k-(OUz9*W`F_!HoOC= literal 0 HcmV?d00001 From 685db8400618aa55128f32debf536cc97f5230c9 Mon Sep 17 00:00:00 2001 From: IHOR PETROV Date: Tue, 12 Mar 2019 20:55:05 +0200 Subject: [PATCH 41/41] Lesson15 servlets --- .../basejava/web/ResumeServlet.java | 21 +++++++++++++++++++ .../javawebinar/basejava/web2/WEB-INF/web.xml | 6 ------ .../basejava/storage/AbstractStorageTest.java | 6 +++--- 3 files changed, 24 insertions(+), 9 deletions(-) create mode 100644 src/ru/javawebinar/basejava/web/ResumeServlet.java delete mode 100644 src/ru/javawebinar/basejava/web2/WEB-INF/web.xml diff --git a/src/ru/javawebinar/basejava/web/ResumeServlet.java b/src/ru/javawebinar/basejava/web/ResumeServlet.java new file mode 100644 index 00000000..254d17e4 --- /dev/null +++ b/src/ru/javawebinar/basejava/web/ResumeServlet.java @@ -0,0 +1,21 @@ +package ru.javawebinar.basejava.web; + +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +public class ResumeServlet extends HttpServlet { + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws javax.servlet.ServletException, IOException { + + } + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws javax.servlet.ServletException, IOException { + request.setCharacterEncoding("UTF-8"); + response.setCharacterEncoding("UTF-8"); +// response.setHeader("Content-Type", "text/html; charset=UTF-8"); + response.setContentType("text/html; charset=UTF-8"); + String name = request.getParameter("name"); + response.getWriter().write(name == null ? "Hello Resumes!" : "Hello " + name + '!'); + } +} diff --git a/src/ru/javawebinar/basejava/web2/WEB-INF/web.xml b/src/ru/javawebinar/basejava/web2/WEB-INF/web.xml deleted file mode 100644 index a0b58fd4..00000000 --- a/src/ru/javawebinar/basejava/web2/WEB-INF/web.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - \ No newline at end of file diff --git a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java index ea359348..a6560f5c 100644 --- a/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java +++ b/test/ru/javawebinar/basejava/storage/AbstractStorageTest.java @@ -94,9 +94,9 @@ public void clear() throws Exception { @Test public void update() throws Exception { Resume newResume = new Resume(UUID_1, "New Name"); - R1.addContact(ContactType.MAIL, "mail1@google.com"); - R1.addContact(ContactType.SKYPE, "NewSkype"); - R1.addContact(ContactType.MOBILE, "+7 921 222-22-22"); + newResume.addContact(ContactType.MAIL, "mail1@google.com"); + newResume.addContact(ContactType.SKYPE, "NewSkype"); + newResume.addContact(ContactType.MOBILE, "+7 921 222-22-22"); storage.update(newResume); assertTrue(newResume.equals(storage.get(UUID_1))); }

Приложение вебинара Практика Java. Разработка Web + приложения."