From e2ce0d67030a1289d1c054ce60a04fe611d1b369 Mon Sep 17 00:00:00 2001 From: deepcloudlabs Date: Tue, 23 Jun 2020 17:24:22 +0300 Subject: [PATCH] format code remove warnings --- .../src/com/example/hr/domain/BirthYear.java | 5 +++ .../src/com/example/hr/domain/Department.java | 5 +++ .../src/com/example/hr/domain/Employee.java | 5 +++ .../src/com/example/hr/domain/FullName.java | 5 +++ hr-domain/src/com/example/hr/domain/Iban.java | 5 +++ .../src/com/example/hr/domain/Money.java | 7 +++- .../com/example/hr/domain/MoneyCurrency.java | 5 +++ .../src/com/example/hr/domain/Photo.java | 5 +++ .../src/com/example/hr/domain/TcKimlikNo.java | 7 +++- .../example/hr/domain/TcKimlikNoRecord.java | 16 ++++++---- .../com/example/hr/events/BusinessEvent.java | 5 +++ .../example/hr/events/EmployeeFiredEvent.java | 5 +++ .../example/hr/events/EmployeeHiredEvent.java | 5 +++ .../hr/infrastructure/EventPushlisher.java | 5 +++ .../hr/repository/EmployeeRepository.java | 7 ++++ .../SimpleEmployeeApplicationTest.java | 32 +++++++++---------- 16 files changed, 100 insertions(+), 24 deletions(-) diff --git a/hr-domain/src/com/example/hr/domain/BirthYear.java b/hr-domain/src/com/example/hr/domain/BirthYear.java index d7002d4..bf60ff1 100644 --- a/hr-domain/src/com/example/hr/domain/BirthYear.java +++ b/hr-domain/src/com/example/hr/domain/BirthYear.java @@ -1,5 +1,10 @@ package com.example.hr.domain; +/** + * + * @author Binnur Kurt + * + */ // Value Object, Immutable public final class BirthYear { private final int value; diff --git a/hr-domain/src/com/example/hr/domain/Department.java b/hr-domain/src/com/example/hr/domain/Department.java index c958f8a..6f6e448 100644 --- a/hr-domain/src/com/example/hr/domain/Department.java +++ b/hr-domain/src/com/example/hr/domain/Department.java @@ -1,5 +1,10 @@ package com.example.hr.domain; +/** + * + * @author Binnur Kurt + * + */ public enum Department { IT, SALES, HR, FINANCE } diff --git a/hr-domain/src/com/example/hr/domain/Employee.java b/hr-domain/src/com/example/hr/domain/Employee.java index e2be295..60a1912 100644 --- a/hr-domain/src/com/example/hr/domain/Employee.java +++ b/hr-domain/src/com/example/hr/domain/Employee.java @@ -1,5 +1,10 @@ package com.example.hr.domain; +/** + * + * @author Binnur Kurt + * + */ // DDD : Core Domain -> Entity Root -> Aggregate // Ubiquitous Language: Entity, Entity Root/Aggregate/Value Object // Bounded Context <--> Sub Domain diff --git a/hr-domain/src/com/example/hr/domain/FullName.java b/hr-domain/src/com/example/hr/domain/FullName.java index 71f8d66..ad57305 100644 --- a/hr-domain/src/com/example/hr/domain/FullName.java +++ b/hr-domain/src/com/example/hr/domain/FullName.java @@ -1,5 +1,10 @@ package com.example.hr.domain; +/** + * + * @author Binnur Kurt + * + */ // Value Object, Immutable public final class FullName { private final String first; diff --git a/hr-domain/src/com/example/hr/domain/Iban.java b/hr-domain/src/com/example/hr/domain/Iban.java index 8059c34..bdfded7 100644 --- a/hr-domain/src/com/example/hr/domain/Iban.java +++ b/hr-domain/src/com/example/hr/domain/Iban.java @@ -1,5 +1,10 @@ package com.example.hr.domain; +/** + * + * @author Binnur Kurt + * + */ // Value Object, Immutable public final class Iban { private static final long MAX = 999999999; diff --git a/hr-domain/src/com/example/hr/domain/Money.java b/hr-domain/src/com/example/hr/domain/Money.java index aadb5ac..64b49ef 100644 --- a/hr-domain/src/com/example/hr/domain/Money.java +++ b/hr-domain/src/com/example/hr/domain/Money.java @@ -1,5 +1,10 @@ package com.example.hr.domain; +/** + * + * @author Binnur Kurt + * + */ // Value Object, Immutable public class Money { private final double value; @@ -57,7 +62,7 @@ public String toString() { } public Money multiply(double percentage) { - return Money.of(this.value*(1. + percentage / 100. ), currency); + return Money.of(this.value * (1. + percentage / 100.), currency); } public boolean lessThan(Money minSalary) { diff --git a/hr-domain/src/com/example/hr/domain/MoneyCurrency.java b/hr-domain/src/com/example/hr/domain/MoneyCurrency.java index 416fc61..98f6fbe 100644 --- a/hr-domain/src/com/example/hr/domain/MoneyCurrency.java +++ b/hr-domain/src/com/example/hr/domain/MoneyCurrency.java @@ -1,5 +1,10 @@ package com.example.hr.domain; +/** + * + * @author Binnur Kurt + * + */ public enum MoneyCurrency { TL, EUR, USD } diff --git a/hr-domain/src/com/example/hr/domain/Photo.java b/hr-domain/src/com/example/hr/domain/Photo.java index a376233..01f240b 100644 --- a/hr-domain/src/com/example/hr/domain/Photo.java +++ b/hr-domain/src/com/example/hr/domain/Photo.java @@ -2,6 +2,11 @@ import java.util.Objects; +/** + * + * @author Binnur Kurt + * + */ // Value Object public final class Photo { private final byte[] value; diff --git a/hr-domain/src/com/example/hr/domain/TcKimlikNo.java b/hr-domain/src/com/example/hr/domain/TcKimlikNo.java index 9b6595c..2440c3c 100644 --- a/hr-domain/src/com/example/hr/domain/TcKimlikNo.java +++ b/hr-domain/src/com/example/hr/domain/TcKimlikNo.java @@ -1,5 +1,10 @@ package com.example.hr.domain; +/** + * + * @author Binnur Kurt + * + */ // Value Object (DDD) --> Immutable --> Effective Java public final class TcKimlikNo { private final String value; @@ -81,5 +86,5 @@ private static boolean isValid(String value) { public String toString() { return "TcKimlikNo [value=" + value + "]"; } - + } \ No newline at end of file diff --git a/hr-domain/src/com/example/hr/domain/TcKimlikNoRecord.java b/hr-domain/src/com/example/hr/domain/TcKimlikNoRecord.java index 31164d9..9e83e76 100644 --- a/hr-domain/src/com/example/hr/domain/TcKimlikNoRecord.java +++ b/hr-domain/src/com/example/hr/domain/TcKimlikNoRecord.java @@ -1,11 +1,15 @@ package com.example.hr.domain; +/** + * + * @author Binnur Kurt + * + */ //Value Object (DDD) --> Immutable // Java 14: (preview feature) /* -public record TcKimlikNoRecord(String value) { - //POJO: JavaBeans Naming Convention -> getValue()/isValue() - // getter: value() -} -*/ -public class TcKimlikNoRecord {} \ No newline at end of file + * public record TcKimlikNoRecord(String value) { //POJO: JavaBeans Naming + * Convention -> getValue()/isValue() // getter: value() } + */ +public class TcKimlikNoRecord { +} \ No newline at end of file diff --git a/hr-domain/src/com/example/hr/events/BusinessEvent.java b/hr-domain/src/com/example/hr/events/BusinessEvent.java index 70d5eab..3f32e52 100644 --- a/hr-domain/src/com/example/hr/events/BusinessEvent.java +++ b/hr-domain/src/com/example/hr/events/BusinessEvent.java @@ -1,5 +1,10 @@ package com.example.hr.events; +/** + * + * @author Binnur Kurt + * + */ public class BusinessEvent { private final String eventId; private final String topic; diff --git a/hr-domain/src/com/example/hr/events/EmployeeFiredEvent.java b/hr-domain/src/com/example/hr/events/EmployeeFiredEvent.java index 9f172be..d7465bf 100644 --- a/hr-domain/src/com/example/hr/events/EmployeeFiredEvent.java +++ b/hr-domain/src/com/example/hr/events/EmployeeFiredEvent.java @@ -1,5 +1,10 @@ package com.example.hr.events; +/** + * + * @author Binnur Kurt + * + */ public class EmployeeFiredEvent extends BusinessEvent { public EmployeeFiredEvent(String eventId, String topic, Object data) { diff --git a/hr-domain/src/com/example/hr/events/EmployeeHiredEvent.java b/hr-domain/src/com/example/hr/events/EmployeeHiredEvent.java index 37f1061..627acab 100644 --- a/hr-domain/src/com/example/hr/events/EmployeeHiredEvent.java +++ b/hr-domain/src/com/example/hr/events/EmployeeHiredEvent.java @@ -1,5 +1,10 @@ package com.example.hr.events; +/** + * + * @author Binnur Kurt + * + */ public class EmployeeHiredEvent extends BusinessEvent { public EmployeeHiredEvent(String eventId, String topic, Object data) { diff --git a/hr-domain/src/com/example/hr/infrastructure/EventPushlisher.java b/hr-domain/src/com/example/hr/infrastructure/EventPushlisher.java index 79c3aaf..3d78d6e 100644 --- a/hr-domain/src/com/example/hr/infrastructure/EventPushlisher.java +++ b/hr-domain/src/com/example/hr/infrastructure/EventPushlisher.java @@ -2,6 +2,11 @@ import com.example.hr.events.BusinessEvent; +/** + * + * @author Binnur Kurt + * + */ public interface EventPushlisher { public void publishEvent(BusinessEvent event); } diff --git a/hr-domain/src/com/example/hr/repository/EmployeeRepository.java b/hr-domain/src/com/example/hr/repository/EmployeeRepository.java index 2023d1c..50cd4f9 100644 --- a/hr-domain/src/com/example/hr/repository/EmployeeRepository.java +++ b/hr-domain/src/com/example/hr/repository/EmployeeRepository.java @@ -5,8 +5,15 @@ import com.example.hr.domain.Employee; import com.example.hr.domain.TcKimlikNo; +/** + * + * @author Binnur Kurt + * + */ public interface EmployeeRepository { Optional findByIdentity(TcKimlikNo identity); + void save(Employee employee); + void remove(Employee employee); } diff --git a/hr-domain/test/com/example/hr/application/business/SimpleEmployeeApplicationTest.java b/hr-domain/test/com/example/hr/application/business/SimpleEmployeeApplicationTest.java index ec084c6..8351874 100644 --- a/hr-domain/test/com/example/hr/application/business/SimpleEmployeeApplicationTest.java +++ b/hr-domain/test/com/example/hr/application/business/SimpleEmployeeApplicationTest.java @@ -2,27 +2,30 @@ import static org.junit.Assert.assertTrue; -import java.util.Optional; - import org.junit.jupiter.api.Test; import org.mockito.Mockito; import com.example.hr.domain.Department; import com.example.hr.domain.Employee; import com.example.hr.domain.MoneyCurrency; -import com.example.hr.domain.TcKimlikNo; import com.example.hr.events.EmployeeHiredEvent; import com.example.hr.infrastructure.EventPushlisher; import com.example.hr.repository.EmployeeRepository; +/** + * + * @author Binnur Kurt + * + */ class SimpleEmployeeApplicationTest { // Unit Testing -> Test Doubles // 1. Dummy Object - // 2. Stub Object -> Partial Implementation -> Real Object - // 3. Fake Object -> Simple/Full Implementation (HashMap - in-memory implementation) + // 2. Stub Object -> Partial Implementation -> Real Object + // 3. Fake Object -> Simple/Full Implementation (HashMap - in-memory + // implementation) // 4. Mock Object -> Mocking/Spying Library -> Mockito - // 5. Spy Object + // 5. Spy Object @Test void hireEmployee_success() { // 1. test setup / fixture @@ -32,17 +35,14 @@ void hireEmployee_success() { app.setEmployeeRepository(empRepo); app.setEventPushlisher(eventPublisher); System.out.println(empRepo.getClass()); - Employee jack = new Employee.Builder("40310900232") - .fullname("jack", "bauer") - .birthYear(1956) - .salary(100_000, MoneyCurrency.USD) - .iban("TR820006235455781668847562") - .fulltime(true) - .department(Department.IT) - .photo("iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAABC1BMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADXsw3hAAAAWXRSTlMAWQFYVwIlVUpSTypIR0wSKBFFAw9WCRo/OgUvQjMNIR5EBhBOLiIZExRTCjsdDlBBHD1UQwc4Sx8wQC0kKxtGBAwsPDEnMhU0N00gOSlJNSYjURY+CxcINmo6xHsAAATwSURBVHhe7Ztnbxs5EIbfGXK16l22VSwXufcax70kju30enf//5ccJDsXCPJyaK3I4BA/XwQLEN6Hs/SSw5Xwf+IZZnSZ7YwnmncTM8l0KtSKSIepuWyr/qa4vvQ3ujCzk3gAaE/dlr9SJCvZ99fLjZ6Di/jCcU5TD9WFegy+kV6bWh21AwMXX8oPSWTgQSPcWa8APML4RibdSycbehJvM/ujUmDgZHMgXXZYuWqAeRTxSzkiTU9FE21OxS9CADQN8ZLC0VhMA0Y7S6RoSBSF07GKwJjWwvDFIkwOb8DAqTB8GUUzswiGzT+k+GhKtxEMlz9JaiQGu6VhDOR8e4NwCANGU8i3R9FKG/zU/CKNDkVvG08zCLBNo0TT1lPvPzVSNEIUXT2tBDlSNGKW7A0YxyPPV5SDfX5V0chRlEBgK7BDDgwoXbHNXyIXKLpGYCfw3qoASvXvBGUO2C5/NSSJB0OdSs9t7j68IaJoHGwj8JmURXzy7uTb5X4luBgrvXydUxYKiup2Ai1SUnx6voQ+Nk7zFgqpWVgwFkoD0R8qALgLgJ8vX76Skq+BBdukzPn5DhAw+uAAaKyJpXsNCw6NAor2AgQRG+hJyb0MC7ZIGbd4QBDZQgg1sJoEwZxxDHOGhZ3BScGgAJFLLaxpgUEey8IkmIbIN2MBjk35AKNuvoAZiEyRis7PM4wwbqRbkcipSeCluJzwAZlIQuQ2UkBZfJxxZ5yGNYjUDQKfwaJAwihAsW4D4aqFwCIZgUg2SkDREUQYhbgCedP/EMsCGzqmQJoiWbQRaBsFQoisUBSqGr8CWxAJKYrdMRuBEsW8E973ZGoATal9G4HtuDsSiuaHhYB5TxCuQuQgf5BMfsxmc7nzcnlmb6/V2jqamPi+82qnvioLIMibCnAOGY5z2s4YFxbTJ8J92AhMkBL2Iy5h3IgNcnzknkJYzNwR4CUpoS9xCWM/ZbwCTQRwijADwzhH5/FPFhXNOy0AM67JyGbDZQEYuBJagimXBQgQ1IX8FhzCuJR6slob7C4e6yFpMvIOgbt8niSpL58HO4tHJ0tmFN26nP0fiLSQ/wlgV/HVsnw4degwPyMPn4qu8gOMzUjD16TPwHCUX1ghTUJ+vupqBWBs1OTyr1Xc5V/MieWnBMAOF38tDD9bBbvKD5AhJQy/6XD4jI509ZPLAMMdM6SMw59nl/EsbH8pWwIYLjEs/4po0nE8Y9uYv+A4H4zvhrO82l9gx/mGhyqKwoLz9oOxbrgCy87zwXgTLTDtPh+MPVKRD4UY7qmkDcf57gUYP3T0AxGGB4FlQwE8wBh/fApomocPA45+qnPjSSBBSjiCcSxQJCU8F3UskIkQeAH2I3AaIdAE+6pATQ1So6IvgXl6FH8CheJJYpCTYhWMPwOOAn8czzzzeyf/r2D8DgcGUKmeLSQWzjoVAOw/f/HFHN2Tfj8OsO/4XN+vaz6e+VRg4FM3vO/LlS/YmwGDW//F/1IoB74MGK9IP7Ipn/BWgIVe/qBBwlMJgrcRfcHmhZ8CLEb2xtt+WsOriCNSTYd+BD51BeTGwP/5iKJ/wL+zNdRU9COwQVGUwN7uQ4NoOvLVmFxqUo+dkPpqTBjrRGow/53H1Wi6bzG8/2PK63rcOX+I/fmSLYDhDwbendMvcsIBuRMDlD6sfUztppKvMgUMnf/Mv8NIVU+cyYl6AAAAAElFTkSuQmCC".getBytes()) - .build(); + Employee jack = new Employee.Builder("40310900232").fullname("jack", "bauer").birthYear(1956) + .salary(100_000, MoneyCurrency.USD).iban("TR820006235455781668847562").fulltime(true) + .department(Department.IT) + .photo("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" + .getBytes()) + .build(); Mockito.doNothing().when(empRepo).save(jack); - Mockito.doNothing().when(eventPublisher).publishEvent(new EmployeeHiredEvent("", "employees", jack) ); + Mockito.doNothing().when(eventPublisher).publishEvent(new EmployeeHiredEvent("", "employees", jack)); // 2. call exercise method var success = app.hireEmployee(jack); // 3. Verification