From c8ef602a211c1d75aa9093b019caae911b0005ea Mon Sep 17 00:00:00 2001 From: deepcloudlabs Date: Tue, 23 Jun 2020 11:02:48 +0300 Subject: [PATCH] extract interface from SimpleEmployeeApplication --- hr-domain/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 12 +++---- .../hr/application/EmployeeApplication.java | 28 +++------------ .../business/SimpleEmployeeApplication.java | 34 +++++++++++++++++++ .../example/hr/domain/TcKimlikNoRecord.java | 5 ++- 5 files changed, 49 insertions(+), 32 deletions(-) create mode 100644 hr-domain/src/com/example/hr/application/business/SimpleEmployeeApplication.java diff --git a/hr-domain/.classpath b/hr-domain/.classpath index 1cd9d95..d54800d 100644 --- a/hr-domain/.classpath +++ b/hr-domain/.classpath @@ -1,6 +1,6 @@ - + diff --git a/hr-domain/.settings/org.eclipse.jdt.core.prefs b/hr-domain/.settings/org.eclipse.jdt.core.prefs index 4b35727..a58ebdc 100644 --- a/hr-domain/.settings/org.eclipse.jdt.core.prefs +++ b/hr-domain/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,15 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=14 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=14 +org.eclipse.jdt.core.compiler.compliance=11 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=enabled +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=14 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/hr-domain/src/com/example/hr/application/EmployeeApplication.java b/hr-domain/src/com/example/hr/application/EmployeeApplication.java index 1f12025..36fba17 100644 --- a/hr-domain/src/com/example/hr/application/EmployeeApplication.java +++ b/hr-domain/src/com/example/hr/application/EmployeeApplication.java @@ -1,31 +1,11 @@ package com.example.hr.application; import com.example.hr.domain.Employee; -import com.example.hr.events.EmployeeFiredEvent; -import com.example.hr.events.EmployeeHiredEvent; -import com.example.hr.infrastructure.EventPushlisher; -import com.example.hr.repository.EmployeeRepository; -public class EmployeeApplication { - private EmployeeRepository employeeRepository; - private EventPushlisher eventPushlisher; +public interface EmployeeApplication { - public void setEmployeeRepository(EmployeeRepository employeeRepository) { - this.employeeRepository = employeeRepository; - } + void hireEmployee(Employee employee); - public void setEventPushlisher(EventPushlisher eventPushlisher) { - this.eventPushlisher = eventPushlisher; - } + void fireEmployee(Employee employee); - public void hireEmployee(Employee employee) { - employeeRepository.save(employee); - eventPushlisher.publishEvent(new EmployeeHiredEvent("", "employees", employee)); - } - - public void fireEmployee(Employee employee) { - employeeRepository.remove(employee); - eventPushlisher.publishEvent(new EmployeeFiredEvent("", "employees", employee)); - } - -} +} \ No newline at end of file diff --git a/hr-domain/src/com/example/hr/application/business/SimpleEmployeeApplication.java b/hr-domain/src/com/example/hr/application/business/SimpleEmployeeApplication.java new file mode 100644 index 0000000..d396dea --- /dev/null +++ b/hr-domain/src/com/example/hr/application/business/SimpleEmployeeApplication.java @@ -0,0 +1,34 @@ +package com.example.hr.application.business; + +import com.example.hr.application.EmployeeApplication; +import com.example.hr.domain.Employee; +import com.example.hr.events.EmployeeFiredEvent; +import com.example.hr.events.EmployeeHiredEvent; +import com.example.hr.infrastructure.EventPushlisher; +import com.example.hr.repository.EmployeeRepository; + +public class SimpleEmployeeApplication implements EmployeeApplication { + private EmployeeRepository employeeRepository; + private EventPushlisher eventPushlisher; + + public void setEmployeeRepository(EmployeeRepository employeeRepository) { + this.employeeRepository = employeeRepository; + } + + public void setEventPushlisher(EventPushlisher eventPushlisher) { + this.eventPushlisher = eventPushlisher; + } + + @Override + public void hireEmployee(Employee employee) { + employeeRepository.save(employee); + eventPushlisher.publishEvent(new EmployeeHiredEvent("", "employees", employee)); + } + + @Override + public void fireEmployee(Employee employee) { + employeeRepository.remove(employee); + eventPushlisher.publishEvent(new EmployeeFiredEvent("", "employees", employee)); + } + +} diff --git a/hr-domain/src/com/example/hr/domain/TcKimlikNoRecord.java b/hr-domain/src/com/example/hr/domain/TcKimlikNoRecord.java index ade1db4..31164d9 100644 --- a/hr-domain/src/com/example/hr/domain/TcKimlikNoRecord.java +++ b/hr-domain/src/com/example/hr/domain/TcKimlikNoRecord.java @@ -2,7 +2,10 @@ //Value Object (DDD) --> Immutable // Java 14: (preview feature) +/* public record TcKimlikNoRecord(String value) { //POJO: JavaBeans Naming Convention -> getValue()/isValue() // getter: value() -} \ No newline at end of file +} +*/ +public class TcKimlikNoRecord {} \ No newline at end of file