Skip to content

Commit

Permalink
extract interface from SimpleEmployeeApplication
Browse files Browse the repository at this point in the history
  • Loading branch information
deepcloudlabs committed Jun 23, 2020
1 parent cc4cc2e commit c8ef602
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 32 deletions.
2 changes: 1 addition & 1 deletion hr-domain/.classpath
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-14">
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
<attributes>
<attribute name="module" value="true"/>
</attributes>
Expand Down
12 changes: 6 additions & 6 deletions hr-domain/.settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -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
28 changes: 4 additions & 24 deletions hr-domain/src/com/example/hr/application/EmployeeApplication.java
Original file line number Diff line number Diff line change
@@ -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));
}

}
}
Original file line number Diff line number Diff line change
@@ -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));
}

}
5 changes: 4 additions & 1 deletion hr-domain/src/com/example/hr/domain/TcKimlikNoRecord.java
Original file line number Diff line number Diff line change
Expand Up @@ -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()
}
}
*/
public class TcKimlikNoRecord {}

0 comments on commit c8ef602

Please sign in to comment.