// Path: organization-structure-sql/src/main/java/org/javers/organization/structure/domain/Employee.java
// @Entity
// @Table
// public class Employee implements Serializable {
// 
//     @Id
//     @Column(name = "domain_name")
//     private String domainName;
// 
//     @OneToOne
//     @JsonIgnore
//     private Person person;
// 
//     public Person getPerson() {
//         return person;
//     }
// 
//     public void setPerson(Person person) {
//         this.person = person;
//     }
// 
//     public String getDomainName() {
//         return domainName;
//     }
// 
//     public void setDomainName(String domainName) {
//         this.domainName = domainName;
//     }
// }
// 
// Path: organization-structure-mongo/src/main/java/org/javers/organization/structure/domain/Person.java
// @Document
// public class Person {
// 
//     @Id
//     private int id;
//     private String firstName;
//     private String lastName;
//     private Sex sex;
//     private Integer salary;
//     private Position position;
//     @Version
//     private Long version;
// 
//     public Person() {
//     }
// 
//     public Person(int id, String firstName, String lastName, Sex sex) {
//         this.id = id;
//         this.firstName = firstName;
//         this.lastName = lastName;
//         this.sex = sex;
//     }
// 
//     public Person(int id, String firstName, String lastName, Sex sex, Integer salary, Position position) {
//         this.id = id;
//         this.firstName = firstName;
//         this.lastName = lastName;
//         this.sex = sex;
//         this.salary = salary;
//         this.position = position;
//     }
// 
//     public Person assignPosition(Position position, int salary) {
//         this.position = position;
//         this.salary = salary;
//         return this;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public String getFirstName() {
//         return firstName;
//     }
// 
//     public String getLastName() {
//         return lastName;
//     }
// 
//     public Sex getSex() {
//         return sex;
//     }
// 
//     public Integer getSalary() {
//         return salary;
//     }
// 
//     public Position getPosition() {
//         return position;
//     }
// 
//     public Employee toEmployee() {
//         return new Employee(firstName+"."+lastName, id);
//     }
// 
//     public void setSalary(Integer salary) {
//         this.salary = salary;
//     }
// }
// 
// Path: organization-structure-mongo/src/main/java/org/javers/organization/structure/domain/Position.java
// public enum Position {
//     DEVELOPER,
//     SCRUM_MASTER,
//     TEAM_LEAD,
//     IT_MANAGER,
//     CTO
// }
// 
// Path: organization-structure-mongo/src/main/java/org/javers/organization/structure/domain/Sex.java
// public enum Sex {
//     FEMALE,
//     MALE
// }
// 
// Path: organization-structure-ui/src/main/java/org/javers/organization/structure/ui/EmployeeDto.java
// public class EmployeeDto {
//     private String domainName;
// 
//     public EmployeeDto() {
//     }
// 
//     public EmployeeDto(String domainName) {
//         this.domainName = domainName;
//     }
// 
//     public String getDomainName() {
//         return domainName;
//     }
// 
//     public void setDomainName(String domainName) {
//         this.domainName = domainName;
//     }
// }
// 
// Path: organization-structure-ui/src/main/java/org/javers/organization/structure/ui/PersonDto.java
// public class PersonDto {
//     private int id;
//     private String firstName;
//     private String lastName;
//     private String sex;
//     private Integer salary;
//     private String position;
// 
//     @JsonCreator
//     public PersonDto(@JsonProperty("id") Integer id,
//                      @JsonProperty("firstName") String firstName,
//                      @JsonProperty("lastName") String lastName,
//                      @JsonProperty("sex") String sex,
//                      @JsonProperty("salary") Integer salary,
//                      @JsonProperty("position") String position) {
//         this.id = id;
//         this.firstName = firstName;
//         this.lastName = lastName;
//         this.sex = sex;
//         this.salary = salary;
//         this.position = position;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public String getFirstName() {
//         return firstName;
//     }
// 
//     public String getLastName() {
//         return lastName;
//     }
// 
//     public String getSex() {
//         return sex;
//     }
// 
//     public Integer getSalary() {
//         return salary;
//     }
// 
//     public String getPosition() {
//         return position;
//     }
// }


import org.javers.organization.structure.domain.Employee;
import org.javers.organization.structure.domain.Person;
import org.javers.organization.structure.domain.Position;
import org.javers.organization.structure.domain.Sex;
import org.javers.organization.structure.ui.EmployeeDto;
import org.javers.organization.structure.ui.PersonDto;
package org.javers.organization.structure.view;


public class DomainModelToViewConverter {

    public static EmployeeDto employeeToEmployeeDto(Employee employee) {
        return new EmployeeDto(employee.getDomainName());
    }

    public static PersonDto personToPersonDto(Person person) {
        return new PersonDto(person.getId(),
// Path: organization-structure-sql/src/main/java/org/javers/organization/structure/domain/Employee.java
// @Entity
// @Table
// public class Employee implements Serializable {
// 
//     @Id
//     @Column(name = "domain_name")
//     private String domainName;
// 
//     @OneToOne
//     @JsonIgnore
//     private Person person;
// 
//     public Person getPerson() {
//         return person;
//     }
// 
//     public void setPerson(Person person) {
//         this.person = person;
//     }
// 
//     public String getDomainName() {
//         return domainName;
//     }
// 
//     public void setDomainName(String domainName) {
//         this.domainName = domainName;
//     }
// }
// 
// Path: organization-structure-mongo/src/main/java/org/javers/organization/structure/domain/Person.java
// @Document
// public class Person {
// 
//     @Id
//     private int id;
//     private String firstName;
//     private String lastName;
//     private Sex sex;
//     private Integer salary;
//     private Position position;
//     @Version
//     private Long version;
// 
//     public Person() {
//     }
// 
//     public Person(int id, String firstName, String lastName, Sex sex) {
//         this.id = id;
//         this.firstName = firstName;
//         this.lastName = lastName;
//         this.sex = sex;
//     }
// 
//     public Person(int id, String firstName, String lastName, Sex sex, Integer salary, Position position) {
//         this.id = id;
//         this.firstName = firstName;
//         this.lastName = lastName;
//         this.sex = sex;
//         this.salary = salary;
//         this.position = position;
//     }
// 
//     public Person assignPosition(Position position, int salary) {
//         this.position = position;
//         this.salary = salary;
//         return this;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public String getFirstName() {
//         return firstName;
//     }
// 
//     public String getLastName() {
//         return lastName;
//     }
// 
//     public Sex getSex() {
//         return sex;
//     }
// 
//     public Integer getSalary() {
//         return salary;
//     }
// 
//     public Position getPosition() {
//         return position;
//     }
// 
//     public Employee toEmployee() {
//         return new Employee(firstName+"."+lastName, id);
//     }
// 
//     public void setSalary(Integer salary) {
//         this.salary = salary;
//     }
// }
// 
// Path: organization-structure-mongo/src/main/java/org/javers/organization/structure/domain/Position.java
// public enum Position {
//     DEVELOPER,
//     SCRUM_MASTER,
//     TEAM_LEAD,
//     IT_MANAGER,
//     CTO
// }
// 
// Path: organization-structure-mongo/src/main/java/org/javers/organization/structure/domain/Sex.java
// public enum Sex {
//     FEMALE,
//     MALE
// }
// 
// Path: organization-structure-ui/src/main/java/org/javers/organization/structure/ui/EmployeeDto.java
// public class EmployeeDto {
//     private String domainName;
// 
//     public EmployeeDto() {
//     }
// 
//     public EmployeeDto(String domainName) {
//         this.domainName = domainName;
//     }
// 
//     public String getDomainName() {
//         return domainName;
//     }
// 
//     public void setDomainName(String domainName) {
//         this.domainName = domainName;
//     }
// }
// 
// Path: organization-structure-ui/src/main/java/org/javers/organization/structure/ui/PersonDto.java
// public class PersonDto {
//     private int id;
//     private String firstName;
//     private String lastName;
//     private String sex;
//     private Integer salary;
//     private String position;
// 
//     @JsonCreator
//     public PersonDto(@JsonProperty("id") Integer id,
//                      @JsonProperty("firstName") String firstName,
//                      @JsonProperty("lastName") String lastName,
//                      @JsonProperty("sex") String sex,
//                      @JsonProperty("salary") Integer salary,
//                      @JsonProperty("position") String position) {
//         this.id = id;
//         this.firstName = firstName;
//         this.lastName = lastName;
//         this.sex = sex;
//         this.salary = salary;
//         this.position = position;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public String getFirstName() {
//         return firstName;
//     }
// 
//     public String getLastName() {
//         return lastName;
//     }
// 
//     public String getSex() {
//         return sex;
//     }
// 
//     public Integer getSalary() {
//         return salary;
//     }
// 
//     public String getPosition() {
//         return position;
//     }
// }


// Path: organization-structure-sql/src/main/java/org/javers/organization/structure/view/DomainModelToViewConverter.java
import org.javers.organization.structure.domain.Employee;
import org.javers.organization.structure.domain.Person;
import org.javers.organization.structure.domain.Position;
import org.javers.organization.structure.domain.Sex;
import org.javers.organization.structure.ui.EmployeeDto;
import org.javers.organization.structure.ui.PersonDto;

package org.javers.organization.structure.view;


public class DomainModelToViewConverter {

    public static EmployeeDto employeeToEmployeeDto(Employee employee) {
        return new EmployeeDto(employee.getDomainName());
    }

    public static PersonDto personToPersonDto(Person person) {
        return new PersonDto(person.getId(),
                person.getFirstName(),