Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
e65ee74
implemented methods in ArrayStorage
VladimirSafronov Nov 18, 2022
0780084
refactored ArrayStorage
VladimirSafronov Nov 20, 2022
156c600
Merge pull request #1
VladimirSafronov Nov 20, 2022
b9d0316
refactored ArrayStorage
VladimirSafronov Nov 20, 2022
6fe11d5
Merge pull request #2
VladimirSafronov Nov 20, 2022
d98f1d0
added structure in project
VladimirSafronov Nov 21, 2022
2a23be5
Merge pull request #3
VladimirSafronov Nov 21, 2022
3bc5012
added a check to the methode save()
VladimirSafronov Nov 21, 2022
5df4eef
Merge pull request #4
VladimirSafronov Nov 21, 2022
24773ec
refactored ArrayStorage and Resume like in lecture
VladimirSafronov Nov 22, 2022
d4db87d
Merge pull request #5
VladimirSafronov Nov 22, 2022
49860ec
added interface Storage
VladimirSafronov Nov 22, 2022
0fdd18b
Merge pull request #6
VladimirSafronov Nov 22, 2022
886a53f
introduced AbstractArrayStorage
VladimirSafronov Nov 22, 2022
bc267d5
Merge pull request #7
VladimirSafronov Nov 22, 2022
eb091e6
deleted getResume from ArrayStorage
VladimirSafronov Nov 22, 2022
3b04830
Merge pull request #8
VladimirSafronov Nov 22, 2022
daed170
ended realization AbstractArrayStorage
VladimirSafronov Nov 22, 2022
2ec7054
Merge pull request #9
VladimirSafronov Nov 22, 2022
927ea3e
created methods save(), delete() in ArrayStorage, SortedArrayStorage
VladimirSafronov Nov 23, 2022
73fdd0e
Merge pull request #10
VladimirSafronov Nov 23, 2022
4fbcbfd
added own Exceptions
VladimirSafronov Nov 24, 2022
8b2d5f6
Merge pull request #11
VladimirSafronov Nov 24, 2022
4fcbcad
added JUnit tests for AbstractArrayStorage
VladimirSafronov Nov 27, 2022
8823378
Merge pull request #12
VladimirSafronov Nov 27, 2022
dec2a32
refactored AbstractArrayStorageTest
VladimirSafronov Nov 27, 2022
15f53f7
Merge pull request #13
VladimirSafronov Nov 27, 2022
a2515a0
created ListStorage, AbstractStorage
VladimirSafronov Nov 28, 2022
0735e66
Merge pull request #14
VladimirSafronov Nov 28, 2022
152f23b
refactored ListStorage
VladimirSafronov Nov 28, 2022
3f51407
Merge pull request #15
VladimirSafronov Nov 28, 2022
ed2c7ca
refactored doSave() in ListStorage
VladimirSafronov Nov 29, 2022
16f1e55
Merge pull request #16
VladimirSafronov Nov 29, 2022
af1e4c3
refactored tests
VladimirSafronov Nov 29, 2022
c82b739
Merge pull request #17
VladimirSafronov Nov 29, 2022
6588d4b
refactored Resume
VladimirSafronov Dec 1, 2022
fd346a6
Merge pull request #18
VladimirSafronov Dec 1, 2022
031d400
refactored Resume[] getAll() to List<Resume> getAllSorted()
VladimirSafronov Dec 4, 2022
1c6066d
Merge pull request #19
VladimirSafronov Dec 4, 2022
762e1ae
created MapUuidStorage
VladimirSafronov Dec 4, 2022
5916eb5
Merge pull request #20
VladimirSafronov Dec 4, 2022
e02c8d9
created MapResumeStorage
VladimirSafronov Dec 4, 2022
878727e
Merge pull request #21
VladimirSafronov Dec 4, 2022
6e01320
did AbstractStorage with generic
VladimirSafronov Dec 4, 2022
3ccc77a
Merge pull request #22
VladimirSafronov Dec 4, 2022
78ce0e5
added logger
VladimirSafronov Dec 5, 2022
fb9dee5
Merge pull request #23
VladimirSafronov Dec 5, 2022
06cdfb0
added enum SectionType in model
VladimirSafronov Dec 7, 2022
408e879
Merge pull request #24
VladimirSafronov Dec 7, 2022
9ba475d
expended Resume
VladimirSafronov Dec 8, 2022
1cb4d39
Merge pull request #25
VladimirSafronov Dec 8, 2022
e36c7d2
created methods to add and remove contact and section
VladimirSafronov Dec 8, 2022
0932f0b
Merge pull request #26
VladimirSafronov Dec 8, 2022
ce75d6b
created ResumeTestData
VladimirSafronov Dec 8, 2022
f056f85
Merge pull request #27
VladimirSafronov Dec 8, 2022
7356595
refactored model
VladimirSafronov Dec 8, 2022
6de5e94
Merge pull request #28
VladimirSafronov Dec 8, 2022
0f29a8f
refactored UML model
VladimirSafronov Dec 9, 2022
a454b39
Merge pull request #29
VladimirSafronov Dec 9, 2022
24a06aa
added picture UML model
VladimirSafronov Dec 9, 2022
461bc05
Merge pull request #30
VladimirSafronov Dec 9, 2022
3acbee4
created DateUtil
VladimirSafronov Dec 9, 2022
2cc94ee
Merge pull request #31
VladimirSafronov Dec 9, 2022
45807bc
practised in MainFile
VladimirSafronov Dec 9, 2022
d32fb93
Merge pull request #32
VladimirSafronov Dec 9, 2022
affa9fa
created AbstractFileStorage
VladimirSafronov Dec 9, 2022
3638190
Merge pull request #33
VladimirSafronov Dec 9, 2022
f0a0cb4
created Position
VladimirSafronov Dec 10, 2022
6b4db7d
Merge pull request #34
VladimirSafronov Dec 10, 2022
39cd171
refactored
VladimirSafronov Dec 10, 2022
959c731
Merge pull request #35
VladimirSafronov Dec 10, 2022
e6fb1ba
added serialization
VladimirSafronov Dec 13, 2022
bc810a7
Merge pull request #36
VladimirSafronov Dec 13, 2022
63cb02a
implemented AbstractPathStorage
VladimirSafronov Dec 15, 2022
657cddb
Merge pull request #37
VladimirSafronov Dec 15, 2022
21e79eb
created interface StreamSerializer
VladimirSafronov Dec 16, 2022
930804d
Merge pull request #38
VladimirSafronov Dec 16, 2022
678f47d
refactored PathStorage
VladimirSafronov Dec 16, 2022
c8f66eb
Merge pull request #39
VladimirSafronov Dec 16, 2022
4bcbca1
created xml serialization
VladimirSafronov Dec 16, 2022
790e288
Merge pull request #40
VladimirSafronov Dec 16, 2022
87aa52d
created Json serialization
VladimirSafronov Dec 23, 2022
d3994ec
Merge pull request #41
VladimirSafronov Dec 23, 2022
d91062c
created DataStreamSerializer
VladimirSafronov Dec 25, 2022
e6e9d5a
Merge pull request #42
VladimirSafronov Dec 25, 2022
08894a1
finished DataStreamSerializer
VladimirSafronov Dec 29, 2022
4de4500
Merge pull request #43
VladimirSafronov Dec 29, 2022
c42d1d3
practised with concurrency
VladimirSafronov Dec 29, 2022
553ffcb
Merge pull request #44
VladimirSafronov Dec 29, 2022
8c7ca95
created few variations of Singleton
VladimirSafronov Dec 30, 2022
6451f9b
Merge pull request #45
VladimirSafronov Dec 30, 2022
327bbea
did deadlock situation
VladimirSafronov Dec 30, 2022
88769f8
Merge pull request #46
VladimirSafronov Dec 30, 2022
a30ed6e
practised with concurrency
VladimirSafronov Jan 1, 2023
5e3c42a
Merge pull request #47
VladimirSafronov Jan 1, 2023
12d0d10
practised with Stream API. Created methods:
VladimirSafronov Jan 2, 2023
a415961
Merge pull request #48
VladimirSafronov Jan 2, 2023
5d92957
init DB
VladimirSafronov Jan 3, 2023
e09d8a7
Merge pull request #49
VladimirSafronov Jan 3, 2023
39b64d1
added properties
VladimirSafronov Jan 6, 2023
17203aa
Merge pull request #50
VladimirSafronov Jan 6, 2023
1fd1654
refactored Config
VladimirSafronov Jan 6, 2023
89f454c
Merge pull request #51
VladimirSafronov Jan 6, 2023
da81323
added SqlStorage
VladimirSafronov Jan 6, 2023
3d8062a
Merge pull request #52
VladimirSafronov Jan 6, 2023
1a83594
did SqlStorage
VladimirSafronov Jan 9, 2023
b022ac8
Merge pull request #53
VladimirSafronov Jan 9, 2023
e7e897f
added SqlStorageTest
VladimirSafronov Jan 9, 2023
8a96c81
Merge pull request #54 from VladimirSafronov/feature
VladimirSafronov Jan 9, 2023
3adbc59
started adding contacts to SqlStorage
VladimirSafronov Jan 9, 2023
74279ca
Merge pull request #55
VladimirSafronov Jan 9, 2023
215ac02
added contacts to SqlStorage
VladimirSafronov Jan 11, 2023
a11e53e
Merge pull request #56
VladimirSafronov Jan 11, 2023
dbad9e9
added web to project
VladimirSafronov Jan 11, 2023
8b61429
Merge pull request #57
VladimirSafronov Jan 11, 2023
1d4cc4a
created ResumeServlet
VladimirSafronov Jan 12, 2023
4793cbb
Merge pull request #58
VladimirSafronov Jan 12, 2023
cae3c04
added Sections in SqlStorage
VladimirSafronov Jan 13, 2023
5e195ca
Merge pull request #59
VladimirSafronov Jan 13, 2023
6a10bcc
made the summary display in a table
VladimirSafronov Jan 14, 2023
8071421
Merge pull request #60
VladimirSafronov Jan 14, 2023
ac348df
added jsp
VladimirSafronov Jan 14, 2023
dad1089
Merge pull request #61
VladimirSafronov Jan 14, 2023
d8be8a3
added fragments to jsp
VladimirSafronov Jan 14, 2023
342e905
Merge pull request #62
VladimirSafronov Jan 14, 2023
91cfc2a
added jstl
VladimirSafronov Jan 16, 2023
eac3fd7
Merge pull request #63
VladimirSafronov Jan 16, 2023
23b5d3d
added view.jsp
VladimirSafronov Jan 16, 2023
cbb7b3a
Merge pull request #64
VladimirSafronov Jan 16, 2023
a4b8843
added edit.jsp
VladimirSafronov Jan 16, 2023
1cb7348
Merge pull request #65
VladimirSafronov Jan 16, 2023
a93f93e
finished with servlet
VladimirSafronov Jan 20, 2023
fca75e1
Merge pull request #66
VladimirSafronov Jan 20, 2023
d7340cd
added "add new resume"
VladimirSafronov Jan 21, 2023
87b76aa
Merge pull request #67
VladimirSafronov Jan 21, 2023
71b1ad9
refactored Objective and Personal in edit.jsp
VladimirSafronov Jan 21, 2023
df0d72c
Merge pull request #68
VladimirSafronov Jan 21, 2023
37393b6
updated README.md
VladimirSafronov Feb 1, 2023
617ee83
Merge pull request #69
VladimirSafronov Feb 1, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
refactored Resume[] getAll() to List<Resume> getAllSorted()
  • Loading branch information
VladimirSafronov committed Dec 4, 2022
commit 031d4001db1a6b3007affedd06f9c4c58561baac
5 changes: 3 additions & 2 deletions src/MainArray.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import java.util.List;
import ru.javawebinar.basejava.model.Resume;
import ru.javawebinar.basejava.storage.ArrayStorage;
import java.io.BufferedReader;
Expand Down Expand Up @@ -65,9 +66,9 @@ public static void main(String[] args) throws IOException {
}

static void printAll() {
Resume[] all = ARRAY_STORAGE.getAll();
List<Resume> all = ARRAY_STORAGE.getAllSorted();
System.out.println("----------------------------");
if (all.length == 0) {
if (all.size() == 0) {
System.out.println("Empty");
} else {
for (Resume r : all) {
Expand Down
2 changes: 1 addition & 1 deletion src/MainTestArrayStorage.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
Expand Down
8 changes: 7 additions & 1 deletion src/ru/javawebinar/basejava/model/Resume.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
/**
* Initial resume class
*/
public class Resume {
public class Resume implements Comparable<Resume> {

// Unique identifier
private final String uuid;
Expand Down Expand Up @@ -51,4 +51,10 @@ public String toString() {
", fullName='" + fullName + '\'' +
'}';
}

@Override
public int compareTo(Resume o) {
int compareFullName = fullName.compareTo(o.fullName);
return compareFullName != 0 ? compareFullName : uuid.compareTo(o.uuid);
}
}
8 changes: 4 additions & 4 deletions src/ru/javawebinar/basejava/storage/AbstractArrayStorage.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
package ru.javawebinar.basejava.storage;

import java.util.Arrays;
import ru.javawebinar.basejava.exception.ExistStorageException;
import ru.javawebinar.basejava.exception.NotExistStorageException;
import java.util.List;
import ru.javawebinar.basejava.exception.StorageException;
import ru.javawebinar.basejava.model.Resume;

Expand Down Expand Up @@ -57,8 +56,9 @@ public Resume doGet(Object index) {
/**
* @return array, contains only Resumes in storage (without null)
*/
public Resume[] getAll() {
return Arrays.copyOf(storage, storageSize);
@Override
public List<Resume> doCopyAll() {
return Arrays.asList(Arrays.copyOf(storage, storageSize));
}

public void clear() {
Expand Down
12 changes: 11 additions & 1 deletion src/ru/javawebinar/basejava/storage/AbstractStorage.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package ru.javawebinar.basejava.storage;

import java.util.Collections;
import java.util.List;
import ru.javawebinar.basejava.exception.ExistStorageException;
import ru.javawebinar.basejava.exception.NotExistStorageException;
import ru.javawebinar.basejava.model.Resume;
Expand All @@ -18,6 +20,8 @@ public abstract class AbstractStorage implements Storage {

protected abstract Resume doGet(Object searchKey);

protected abstract List<Resume> doCopyAll();

public void update(Resume r) {
Object searchKey = getExistedSearchKey(r.getUuid());
doUpdate(r, searchKey);
Expand All @@ -43,7 +47,6 @@ private Object getNotExistedSearchKey(String uuid) {
if (isExist(searchKey)) {
throw new ExistStorageException(uuid);
}
// TODO: Возвращать ключ в рамках которого можно положить следующую запись
return searchKey;
}

Expand All @@ -54,4 +57,11 @@ private Object getExistedSearchKey(String uuid) {
}
return searchKey;
}

@Override
public List<Resume> getAllSorted() {
List<Resume> list = doCopyAll();
Collections.sort(list);
return list;
}
}
7 changes: 2 additions & 5 deletions src/ru/javawebinar/basejava/storage/ListStorage.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import ru.javawebinar.basejava.exception.ExistStorageException;
import ru.javawebinar.basejava.exception.NotExistStorageException;
import ru.javawebinar.basejava.model.Resume;

public class ListStorage extends AbstractStorage {
Expand Down Expand Up @@ -52,8 +49,8 @@ public void doDelete(Object index) {
}

@Override
public Resume[] getAll() {
return storage.toArray(new Resume[storage.size()]);
public List<Resume> doCopyAll() {
return new ArrayList<>(storage);
}

@Override
Expand Down
3 changes: 2 additions & 1 deletion src/ru/javawebinar/basejava/storage/Storage.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package ru.javawebinar.basejava.storage;

import java.util.List;
import ru.javawebinar.basejava.model.Resume;

public interface Storage {
Expand All @@ -17,7 +18,7 @@ public interface Storage {
/**
* @return array, contains only Resumes in storage (without null)
*/
Resume[] getAll();
List<Resume> getAllSorted();

int size();
}
12 changes: 6 additions & 6 deletions test/ru/javawebinar/basejava/storage/AbstractStorageTest.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package ru.javawebinar.basejava.storage;


import java.util.Arrays;
import java.util.List;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
Expand Down Expand Up @@ -92,12 +94,10 @@ public void getNotExist() throws Exception {
}

@Test
public void getAll() throws Exception {
Resume[] testStorage = storage.getAll();
Assertions.assertEquals(3, testStorage.length);
Assertions.assertEquals(RESUME_1, testStorage[0]);
Assertions.assertEquals(RESUME_2, testStorage[1]);
Assertions.assertEquals(RESUME_3, testStorage[2]);
public void getAllSorted() throws Exception {
List<Resume> testStorage = storage.getAllSorted();
Assertions.assertEquals(3, testStorage.size());
Assertions.assertEquals(testStorage, Arrays.asList(RESUME_1, RESUME_2,RESUME_3));
}

@Test
Expand Down