From eb3e4e7bc54ab8723c5e424c341d8ffef945d90c Mon Sep 17 00:00:00 2001 From: Shubham Date: Thu, 15 Dec 2022 04:53:52 +0530 Subject: [PATCH 1/2] gitignore file added --- .classpath | 6 ---- .project | 17 ---------- src/oops/.gitignore | 31 +++++++++++++++++++ .../adapters/EmployeeCsvAdapter.java | 2 ++ .../adapters/EmployeeLdapAdapter.java | 2 ++ 5 files changed, 35 insertions(+), 23 deletions(-) delete mode 100644 .classpath delete mode 100644 .project create mode 100644 src/oops/.gitignore create mode 100644 src/oops/designPatterns/adapter/employees/adapters/EmployeeCsvAdapter.java create mode 100644 src/oops/designPatterns/adapter/employees/adapters/EmployeeLdapAdapter.java diff --git a/.classpath b/.classpath deleted file mode 100644 index 51a8bbad..00000000 --- a/.classpath +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/.project b/.project deleted file mode 100644 index 397bfe4e..00000000 --- a/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - LowLevelDesignConcepts - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/src/oops/.gitignore b/src/oops/.gitignore new file mode 100644 index 00000000..ece6ae3c --- /dev/null +++ b/src/oops/.gitignore @@ -0,0 +1,31 @@ +.gradle +.idea/ +!.idea/icon*.png +*.iml +build/ +src/main/gen +src/main/resources/templates.list +src/main/resources/gitignore/* +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* diff --git a/src/oops/designPatterns/adapter/employees/adapters/EmployeeCsvAdapter.java b/src/oops/designPatterns/adapter/employees/adapters/EmployeeCsvAdapter.java new file mode 100644 index 00000000..48fca2e3 --- /dev/null +++ b/src/oops/designPatterns/adapter/employees/adapters/EmployeeCsvAdapter.java @@ -0,0 +1,2 @@ +package oops.designPatterns.adapter.employees.adapters;public class EmployeeCsvAdapter { +} diff --git a/src/oops/designPatterns/adapter/employees/adapters/EmployeeLdapAdapter.java b/src/oops/designPatterns/adapter/employees/adapters/EmployeeLdapAdapter.java new file mode 100644 index 00000000..4ae84d4b --- /dev/null +++ b/src/oops/designPatterns/adapter/employees/adapters/EmployeeLdapAdapter.java @@ -0,0 +1,2 @@ +package oops.designPatterns.adapter.employees.adapters;public class EmployeeLdapAdapter { +} From 569b0c707e5d63aa11bcdf8b906b605f5126aea7 Mon Sep 17 00:00:00 2001 From: Shubham Date: Thu, 15 Dec 2022 04:54:58 +0530 Subject: [PATCH 2/2] Adapter code added --- .../designPatterns/adapter/AdapterDemo.java | 2 +- .../adapter/EmployeeClient.java | 16 +++++--- .../adapter/employees/EmployeeCSV.java | 13 +++++++ .../adapter/employees/EmployeeLdap.java | 15 +++++++- .../adapters/EmployeeCsvAdapter.java | 37 ++++++++++++++++++- .../adapters/EmployeeLdapAdapter.java | 37 ++++++++++++++++++- src/oops/designPatterns/decorator/Client.java | 6 +-- 7 files changed, 112 insertions(+), 14 deletions(-) diff --git a/src/oops/designPatterns/adapter/AdapterDemo.java b/src/oops/designPatterns/adapter/AdapterDemo.java index b1976f6a..154861ea 100644 --- a/src/oops/designPatterns/adapter/AdapterDemo.java +++ b/src/oops/designPatterns/adapter/AdapterDemo.java @@ -12,6 +12,6 @@ public static void main(String[] args) { List employees = client.getEmployeeList(); - System.out.println(employees); + employees.forEach(System.out::println); } } diff --git a/src/oops/designPatterns/adapter/EmployeeClient.java b/src/oops/designPatterns/adapter/EmployeeClient.java index 6085419a..4c0cdc9c 100644 --- a/src/oops/designPatterns/adapter/EmployeeClient.java +++ b/src/oops/designPatterns/adapter/EmployeeClient.java @@ -8,6 +8,8 @@ import oops.designPatterns.adapter.employees.EmployeeCSV; import oops.designPatterns.adapter.employees.EmployeeDB; import oops.designPatterns.adapter.employees.EmployeeLdap; +import oops.designPatterns.adapter.employees.adapters.EmployeeCsvAdapter; +import oops.designPatterns.adapter.employees.adapters.EmployeeLdapAdapter; public class EmployeeClient { @@ -16,14 +18,18 @@ public List getEmployeeList() { List employees = new ArrayList<>(); Employee employeeFromDB = new EmployeeDB("1234", "John", "Wick", "john@wick.com"); - - EmployeeLdap employeeFromLdap = new EmployeeLdap("chewie", "Solo", "Han", "han@solo.com"); - + employees.add(employeeFromDB); + + EmployeeLdap employeeFromLdap = new EmployeeLdap("chewie", "Solo", "Han", "han@solo.com"); + Employee employeeLdapAdapter = new EmployeeLdapAdapter(employeeFromLdap); + employees.add(employeeLdapAdapter); + EmployeeCSV employeeFromCSV = new EmployeeCSV("567,Sherlock,Holmes,sherlock@holmes.com"); - + Employee employeeCsvAdapter = new EmployeeCsvAdapter(employeeFromCSV); + employees.add(employeeCsvAdapter); //We have to add the data of all the employees to the employees list //But it only accepts objects of type Employee - + return employees; diff --git a/src/oops/designPatterns/adapter/employees/EmployeeCSV.java b/src/oops/designPatterns/adapter/employees/EmployeeCSV.java index c8a45ce6..7746eae5 100644 --- a/src/oops/designPatterns/adapter/employees/EmployeeCSV.java +++ b/src/oops/designPatterns/adapter/employees/EmployeeCSV.java @@ -7,6 +7,9 @@ public class EmployeeCSV { private int id; private String firstname; + + + private String lastname; private String emailAddress; @@ -58,4 +61,14 @@ public void setLastname(String lastname) { this.lastname = lastname; } + @Override + public String toString() { + return "EmployeeCSV{" + + "id=" + id + + ", firstname='" + firstname + '\'' + + ", lastname='" + lastname + '\'' + + ", emailAddress='" + emailAddress + '\'' + + '}'; + } + } diff --git a/src/oops/designPatterns/adapter/employees/EmployeeLdap.java b/src/oops/designPatterns/adapter/employees/EmployeeLdap.java index 43dc25b1..cce67b6b 100644 --- a/src/oops/designPatterns/adapter/employees/EmployeeLdap.java +++ b/src/oops/designPatterns/adapter/employees/EmployeeLdap.java @@ -5,6 +5,9 @@ public class EmployeeLdap { private String cn; private String surname; + + + private String givenName; private String mail; @@ -38,5 +41,15 @@ public String getMail() { } public void setMail(String mail) { this.mail = mail; - } + } + + @Override + public String toString() { + return "EmployeeLdap{" + + "cn='" + cn + '\'' + + ", surname='" + surname + '\'' + + ", givenName='" + givenName + '\'' + + ", mail='" + mail + '\'' + + '}'; + } } diff --git a/src/oops/designPatterns/adapter/employees/adapters/EmployeeCsvAdapter.java b/src/oops/designPatterns/adapter/employees/adapters/EmployeeCsvAdapter.java index 48fca2e3..9ec360af 100644 --- a/src/oops/designPatterns/adapter/employees/adapters/EmployeeCsvAdapter.java +++ b/src/oops/designPatterns/adapter/employees/adapters/EmployeeCsvAdapter.java @@ -1,2 +1,37 @@ -package oops.designPatterns.adapter.employees.adapters;public class EmployeeCsvAdapter { +package oops.designPatterns.adapter.employees.adapters; + +import oops.designPatterns.adapter.employees.Employee; +import oops.designPatterns.adapter.employees.EmployeeCSV; + +public class EmployeeCsvAdapter implements Employee { + private final EmployeeCSV employeeCSV; + + @Override + public String toString() { + return employeeCSV.toString(); + } + + public EmployeeCsvAdapter(EmployeeCSV employeeCSV) { + this.employeeCSV = employeeCSV; + } + + @Override + public String getId() { + return String.valueOf(employeeCSV.getId()); + } + + @Override + public String getFirstName() { + return employeeCSV.getFirstname(); + } + + @Override + public String getLastName() { + return employeeCSV.getLastname(); + } + + @Override + public String getEmail() { + return employeeCSV.getEmailAddress(); + } } diff --git a/src/oops/designPatterns/adapter/employees/adapters/EmployeeLdapAdapter.java b/src/oops/designPatterns/adapter/employees/adapters/EmployeeLdapAdapter.java index 4ae84d4b..3827ba84 100644 --- a/src/oops/designPatterns/adapter/employees/adapters/EmployeeLdapAdapter.java +++ b/src/oops/designPatterns/adapter/employees/adapters/EmployeeLdapAdapter.java @@ -1,2 +1,37 @@ -package oops.designPatterns.adapter.employees.adapters;public class EmployeeLdapAdapter { +package oops.designPatterns.adapter.employees.adapters; + +import oops.designPatterns.adapter.employees.Employee; +import oops.designPatterns.adapter.employees.EmployeeLdap; + +public class EmployeeLdapAdapter implements Employee { + private final EmployeeLdap employeeLdap; + + @Override + public String toString() { + return employeeLdap.toString(); + } + + public EmployeeLdapAdapter(EmployeeLdap employeeLdap) { + this.employeeLdap = employeeLdap; + } + + @Override + public String getId() { + return employeeLdap.getCn(); + } + + @Override + public String getFirstName() { + return employeeLdap.getGivenName(); + } + + @Override + public String getLastName() { + return employeeLdap.getSurname(); + } + + @Override + public String getEmail() { + return employeeLdap.getMail(); + } } diff --git a/src/oops/designPatterns/decorator/Client.java b/src/oops/designPatterns/decorator/Client.java index f4ae96ae..bfbc330c 100644 --- a/src/oops/designPatterns/decorator/Client.java +++ b/src/oops/designPatterns/decorator/Client.java @@ -3,10 +3,6 @@ import oops.designPatterns.decorator.beverages.Beverage; import oops.designPatterns.decorator.beverages.Cappuccino; import oops.designPatterns.decorator.beverages.decorators.ChocolateDecorator; -import oops.designPatterns.decorator.visualComponents.TextView; -import oops.designPatterns.decorator.visualComponents.VisualComponent; -import oops.designPatterns.decorator.visualComponents.decorators.BorderDecorator; -import oops.designPatterns.decorator.visualComponents.decorators.ScrollDecorator; public class Client { @@ -25,7 +21,7 @@ public static void main(String[] args) { Beverage coffee = new Cappuccino(); System.out.println(coffee.cost()); - Beverage coffeeWithCoholate = new ChocolateDecorator(new ChocolateDecorator(coffee)); + Beverage coffeeWithCoholate = new ChocolateDecorator(coffee); System.out.println(coffeeWithCoholate.cost());