├── assignment1 ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs └── src │ └── assignment1 │ ├── Course.java │ ├── CourseManager.java │ ├── Instructor.java │ ├── Main.java │ └── Student.java ├── assignment2 ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs └── src │ └── assignment2 │ ├── Course.java │ ├── CourseManager.java │ ├── Instructor.java │ ├── InstructorManager.java │ ├── Main.java │ ├── Student.java │ ├── StudentManager.java │ ├── User.java │ └── UserManager.java ├── day4Assignment2 ├── .classpath ├── .gitignore ├── .project ├── .settings │ ├── org.eclipse.core.resources.prefs │ └── org.eclipse.jdt.core.prefs └── src │ ├── day4Assignment2 │ ├── Abstract │ │ ├── BaseCustomerManager.java │ │ ├── CustomerCheckService.java │ │ ├── CustomerManager.java │ │ └── Entity.java │ ├── Adapters │ │ └── MernisServiceAdapter.java │ ├── Concrete │ │ ├── CustomerCheckManager.java │ │ ├── NeroCustomerManager.java │ │ └── StarbucksCustomerManager.java │ ├── Entities │ │ └── Customer.java │ └── Main.java │ └── tr │ └── gov │ └── nvi │ └── tckimlik │ └── WS │ ├── KPSPublic.java │ ├── KPSPublicLocator.java │ ├── KPSPublicSoap.java │ ├── KPSPublicSoapProxy.java │ └── KPSPublicSoapStub.java ├── day4Assignment3 ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs └── src │ └── day4Assignment3 │ ├── Abstract │ ├── CampaignService.java │ ├── CheckUserService.java │ ├── Entity.java │ ├── GameService.java │ ├── GamerService.java │ └── SaleService.java │ ├── Adapters │ └── FakeMerisService.java │ ├── Concrete │ ├── CampaignManager.java │ ├── GameManager.java │ ├── GamerManager.java │ └── SaleManager.java │ ├── Entities │ ├── Campaign.java │ ├── Game.java │ ├── Gamer.java │ └── User.java │ ├── Main.java │ └── Mernis │ └── PersonValidation.java └── day5Assignment1 ├── .classpath ├── .gitignore ├── .project ├── .settings └── org.eclipse.jdt.core.prefs └── src └── day5Assignment1 ├── Main.java ├── business ├── abstracts │ ├── AuthService.java │ └── UserService.java └── concretes │ ├── AuthManager.java │ └── UserManager.java ├── core ├── abstracts │ ├── RegisterService.java │ └── VerificationService.java └── concretes │ ├── GoogleManagerAdapter.java │ └── VerificationLink.java ├── dataAccess ├── abstracts │ └── UserDao.java └── concretes │ └── InMemoryUserDao.java ├── entities ├── abstracts │ └── Entity.java └── concretes │ └── User.java └── google ├── GoogleManager.java └── UserForGoogle.java /assignment1/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /assignment1/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | -------------------------------------------------------------------------------- /assignment1/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | assignment1 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /assignment1/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=15 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled 11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 12 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning 13 | org.eclipse.jdt.core.compiler.release=enabled 14 | org.eclipse.jdt.core.compiler.source=15 15 | -------------------------------------------------------------------------------- /assignment1/src/assignment1/Course.java: -------------------------------------------------------------------------------- 1 | package assignment1; 2 | 3 | 4 | public class Course { 5 | 6 | public Course(int id, String name, String instructorName) { 7 | this.id = id; 8 | this.name = name; 9 | this.instructorName = instructorName; 10 | } 11 | 12 | int id; 13 | String name; 14 | String instructorName; 15 | } 16 | -------------------------------------------------------------------------------- /assignment1/src/assignment1/CourseManager.java: -------------------------------------------------------------------------------- 1 | package assignment1; 2 | 3 | 4 | public class CourseManager { 5 | 6 | public void addCourse(Course course) { 7 | System.out.println(course.name + " has been added"); 8 | } 9 | 10 | public void updateCourse(Course course){ 11 | System.out.println(course.name + " has been updated"); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /assignment1/src/assignment1/Instructor.java: -------------------------------------------------------------------------------- 1 | package assignment1; 2 | 3 | public class Instructor { 4 | 5 | public Instructor(int id, String name, String description) { 6 | 7 | this.id = id; 8 | this.name = name; 9 | this.description = description; 10 | } 11 | 12 | int id; 13 | String name; 14 | String description; 15 | } 16 | -------------------------------------------------------------------------------- /assignment1/src/assignment1/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CerenBdk/Java-Assignments/58a8c65c1d7d0e088fbafb52b76cdc8a998e3ab1/assignment1/src/assignment1/Main.java -------------------------------------------------------------------------------- /assignment1/src/assignment1/Student.java: -------------------------------------------------------------------------------- 1 | package assignment1; 2 | 3 | public class Student { 4 | 5 | public Student(int id, String name, String email, String password, String imagePath) { 6 | this.id = id; 7 | this.name = name; 8 | this.email = email; 9 | this.password = password; 10 | this.imagePath = imagePath; 11 | } 12 | 13 | int id; 14 | String name; 15 | String email; 16 | String password; 17 | String imagePath; 18 | } 19 | -------------------------------------------------------------------------------- /assignment2/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /assignment2/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | -------------------------------------------------------------------------------- /assignment2/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | assignment2 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /assignment2/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=15 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled 11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 12 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning 13 | org.eclipse.jdt.core.compiler.release=enabled 14 | org.eclipse.jdt.core.compiler.source=15 15 | -------------------------------------------------------------------------------- /assignment2/src/assignment2/Course.java: -------------------------------------------------------------------------------- 1 | package assignment2; 2 | 3 | public class Course { 4 | 5 | private int id; 6 | private String name; 7 | 8 | public Course() { 9 | 10 | } 11 | 12 | public Course(int id, String name) { 13 | super(); 14 | this.id = id; 15 | this.name = name; 16 | } 17 | 18 | public int getId() { 19 | return id; 20 | } 21 | 22 | public void setId(int id) { 23 | this.id = id; 24 | } 25 | 26 | public String getName() { 27 | return name; 28 | } 29 | 30 | public void setName(String name) { 31 | this.name = name; 32 | } 33 | 34 | 35 | } 36 | -------------------------------------------------------------------------------- /assignment2/src/assignment2/CourseManager.java: -------------------------------------------------------------------------------- 1 | package assignment2; 2 | 3 | public class CourseManager { 4 | 5 | public void add(Course course) 6 | { 7 | System.out.println( course.getName() + " has been added."); 8 | } 9 | 10 | public void add(Course[] courses) 11 | { 12 | for(Course course:courses) { 13 | add(course); 14 | } 15 | } 16 | 17 | public void update(Course course) 18 | { 19 | System.out.println( course.getName() + " has been updated."); 20 | } 21 | 22 | public void delete(Course course) 23 | { 24 | System.out.println( course.getName() + " has been deleted."); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /assignment2/src/assignment2/Instructor.java: -------------------------------------------------------------------------------- 1 | package assignment2; 2 | 3 | public class Instructor extends User{ 4 | 5 | private String description; 6 | 7 | public String getDescription() { 8 | return description; 9 | } 10 | 11 | public void setDescription(String description) { 12 | this.description = description; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /assignment2/src/assignment2/InstructorManager.java: -------------------------------------------------------------------------------- 1 | package assignment2; 2 | 3 | public class InstructorManager extends UserManager{ 4 | 5 | public void openCourse(Course course) { 6 | System.out.println(course.getName() + " has been opened."); 7 | } 8 | 9 | public void closeCourse(Course course) { 10 | System.out.println(course.getName() + " has been closed."); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /assignment2/src/assignment2/Main.java: -------------------------------------------------------------------------------- 1 | package assignment2; 2 | 3 | public class Main { 4 | 5 | public static void main(String[] args) { 6 | 7 | UserManager userManager = new UserManager(); 8 | Student student = new Student(); 9 | student.setFirstName("Harry"); 10 | student.setLastName("Potter"); 11 | userManager.add(student); 12 | 13 | Instructor instructor = new Instructor(); 14 | instructor.setFirstName("Remus"); 15 | instructor.setLastName("Lupin"); 16 | userManager.update(instructor); 17 | 18 | Course transfiguration = new Course(1, "Transfiguration"); 19 | Course defence = new Course(2, "Defence Against the Dark Arts"); 20 | Course potions = new Course(3, "Potions"); 21 | Course magic = new Course(4, "History of Magic"); 22 | 23 | Course[] courses = {transfiguration, defence, potions, magic}; 24 | 25 | CourseManager courseManager = new CourseManager(); 26 | courseManager.add(courses); 27 | 28 | InstructorManager instructorManager = new InstructorManager(); 29 | instructorManager.openCourse(defence); 30 | 31 | StudentManager studentManager = new StudentManager(); 32 | studentManager.joinCourse(student, defence); 33 | 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /assignment2/src/assignment2/Student.java: -------------------------------------------------------------------------------- 1 | package assignment2; 2 | 3 | public class Student extends User{ 4 | 5 | } 6 | -------------------------------------------------------------------------------- /assignment2/src/assignment2/StudentManager.java: -------------------------------------------------------------------------------- 1 | package assignment2; 2 | 3 | public class StudentManager extends UserManager{ 4 | 5 | public void joinCourse(Student student, Course course) { 6 | System.out.println(course.getName() + " has been selected by " + student.getFirstName() + " " + student.getLastName() + "."); 7 | } 8 | 9 | public void removeCourse(Course course) { 10 | System.out.println(course.getName() + " has been removed"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /assignment2/src/assignment2/User.java: -------------------------------------------------------------------------------- 1 | package assignment2; 2 | 3 | public class User { 4 | 5 | private int id; 6 | private String firstName; 7 | private String lastName; 8 | private String mail; 9 | private String password; 10 | private String imgPath; 11 | 12 | public User() { 13 | 14 | } 15 | 16 | public User(int id, String firstName, String lastName, String mail, String password) { 17 | super(); 18 | this.id = id; 19 | this.firstName = firstName; 20 | this.lastName = lastName; 21 | this.mail = mail; 22 | this.password = password; 23 | } 24 | 25 | public int getId() { 26 | return id; 27 | } 28 | 29 | public void setId(int id) { 30 | this.id = id; 31 | } 32 | 33 | public String getFirstName() { 34 | return firstName; 35 | } 36 | 37 | public void setFirstName(String firstName) { 38 | this.firstName = firstName; 39 | } 40 | 41 | public String getLastName() { 42 | return lastName; 43 | } 44 | 45 | public void setLastName(String lastName) { 46 | this.lastName = lastName; 47 | } 48 | 49 | public String getMail() { 50 | return mail; 51 | } 52 | 53 | public void setMail(String mail) { 54 | this.mail = mail; 55 | } 56 | 57 | public String getPassword() { 58 | return password; 59 | } 60 | 61 | public void setPassword(String password) { 62 | this.password = password; 63 | } 64 | 65 | public String getImgPath() { 66 | return imgPath; 67 | } 68 | 69 | public void setImgPath(String imgPath) { 70 | this.imgPath = imgPath; 71 | } 72 | 73 | } 74 | -------------------------------------------------------------------------------- /assignment2/src/assignment2/UserManager.java: -------------------------------------------------------------------------------- 1 | package assignment2; 2 | 3 | public class UserManager { 4 | 5 | public void add(User user) { 6 | System.out.println(user.getFirstName() + " " + user.getLastName() + " " + "has been added."); 7 | } 8 | 9 | public void update(User user) { 10 | System.out.println(user.getFirstName() + " " + user.getLastName() + " " + "has been updated."); 11 | } 12 | 13 | public void delete(User user) { 14 | System.out.println(user.getFirstName() + " " + user.getLastName() + " " + "has been deleted."); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /day4Assignment2/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /day4Assignment2/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | -------------------------------------------------------------------------------- /day4Assignment2/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | day4Assignment2 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jem.workbench.JavaEMFNature 16 | org.eclipse.jdt.core.javanature 17 | 18 | 19 | -------------------------------------------------------------------------------- /day4Assignment2/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/tr/gov/nvi/tckimlik/WS/KPSPublic.java=UTF-8 3 | encoding//src/tr/gov/nvi/tckimlik/WS/KPSPublicLocator.java=UTF-8 4 | encoding//src/tr/gov/nvi/tckimlik/WS/KPSPublicSoap.java=UTF-8 5 | encoding//src/tr/gov/nvi/tckimlik/WS/KPSPublicSoapStub.java=UTF-8 6 | -------------------------------------------------------------------------------- /day4Assignment2/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.8 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.release=disabled 12 | org.eclipse.jdt.core.compiler.source=1.8 13 | -------------------------------------------------------------------------------- /day4Assignment2/src/day4Assignment2/Abstract/BaseCustomerManager.java: -------------------------------------------------------------------------------- 1 | package day4Assignment2.Abstract; 2 | 3 | import day4Assignment2.Entities.Customer; 4 | 5 | public abstract class BaseCustomerManager implements CustomerManager{ 6 | 7 | public abstract void save(Customer customer); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /day4Assignment2/src/day4Assignment2/Abstract/CustomerCheckService.java: -------------------------------------------------------------------------------- 1 | package day4Assignment2.Abstract; 2 | 3 | import day4Assignment2.Entities.Customer; 4 | 5 | public interface CustomerCheckService { 6 | 7 | boolean CheckIfRealPerson(Customer customer); 8 | } 9 | 10 | -------------------------------------------------------------------------------- /day4Assignment2/src/day4Assignment2/Abstract/CustomerManager.java: -------------------------------------------------------------------------------- 1 | package day4Assignment2.Abstract; 2 | 3 | import day4Assignment2.Entities.Customer; 4 | 5 | public interface CustomerManager { 6 | 7 | void save(Customer customer); 8 | } 9 | -------------------------------------------------------------------------------- /day4Assignment2/src/day4Assignment2/Abstract/Entity.java: -------------------------------------------------------------------------------- 1 | package day4Assignment2.Abstract; 2 | 3 | public interface Entity { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /day4Assignment2/src/day4Assignment2/Adapters/MernisServiceAdapter.java: -------------------------------------------------------------------------------- 1 | package day4Assignment2.Adapters; 2 | 3 | import java.rmi.RemoteException; 4 | 5 | import day4Assignment2.Abstract.CustomerCheckService; 6 | import day4Assignment2.Entities.Customer; 7 | import tr.gov.nvi.tckimlik.WS.KPSPublicSoapProxy; 8 | 9 | public class MernisServiceAdapter implements CustomerCheckService{ 10 | 11 | @Override 12 | public boolean CheckIfRealPerson(Customer customer) { 13 | KPSPublicSoapProxy client = new KPSPublicSoapProxy(); 14 | boolean result = true; 15 | try { 16 | result = client.TCKimlikNoDogrula(Long. parseLong(customer.getNationalId()), customer.getFirstName().toUpperCase(), customer.getLastName().toUpperCase(), customer.getDateOfBirth().getYear()); 17 | } catch (RemoteException e) { 18 | // TODO Auto-generated catch block 19 | e.printStackTrace(); 20 | } 21 | return result; 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /day4Assignment2/src/day4Assignment2/Concrete/CustomerCheckManager.java: -------------------------------------------------------------------------------- 1 | package day4Assignment2.Concrete; 2 | 3 | import day4Assignment2.Abstract.CustomerCheckService; 4 | import day4Assignment2.Entities.Customer; 5 | import tr.gov.nvi.tckimlik.WS.KPSPublic; 6 | 7 | public class CustomerCheckManager implements CustomerCheckService{ 8 | 9 | @Override 10 | public boolean CheckIfRealPerson(Customer customer) { 11 | 12 | return true; 13 | } 14 | 15 | 16 | } 17 | -------------------------------------------------------------------------------- /day4Assignment2/src/day4Assignment2/Concrete/NeroCustomerManager.java: -------------------------------------------------------------------------------- 1 | package day4Assignment2.Concrete; 2 | 3 | import day4Assignment2.Abstract.BaseCustomerManager; 4 | import day4Assignment2.Entities.Customer; 5 | 6 | public class NeroCustomerManager extends BaseCustomerManager{ 7 | 8 | @Override 9 | public void save(Customer customer) { 10 | System.out.println("Save to database for Nero: " + customer.getFirstName() + " " + customer.getLastName()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /day4Assignment2/src/day4Assignment2/Concrete/StarbucksCustomerManager.java: -------------------------------------------------------------------------------- 1 | package day4Assignment2.Concrete; 2 | 3 | import day4Assignment2.Abstract.BaseCustomerManager; 4 | import day4Assignment2.Abstract.CustomerCheckService; 5 | import day4Assignment2.Entities.Customer; 6 | 7 | public class StarbucksCustomerManager extends BaseCustomerManager{ 8 | 9 | private CustomerCheckService customerCheckService; 10 | 11 | public StarbucksCustomerManager(CustomerCheckService customerCheckService) { 12 | this.customerCheckService = customerCheckService; 13 | } 14 | 15 | @Override 16 | public void save(Customer customer) { 17 | if(customerCheckService.CheckIfRealPerson(customer)) { 18 | System.out.println("Save to database for Starbucks: " + customer.getFirstName() + " " + customer.getLastName()); 19 | }else { 20 | System.out.println("Not a valid person"); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /day4Assignment2/src/day4Assignment2/Entities/Customer.java: -------------------------------------------------------------------------------- 1 | package day4Assignment2.Entities; 2 | 3 | import java.time.LocalDate; 4 | 5 | import day4Assignment2.Abstract.Entity; 6 | 7 | 8 | 9 | public class Customer implements Entity{ 10 | 11 | private int id; 12 | private String firstName; 13 | private String lastName; 14 | private LocalDate dateOfBirth; 15 | private String nationalId; 16 | 17 | public Customer() { 18 | 19 | } 20 | 21 | 22 | public Customer(int id, String firstName, String lastName, LocalDate dateOfBirth, String nationalId) { 23 | this.id = id; 24 | this.firstName = firstName; 25 | this.lastName = lastName; 26 | this.dateOfBirth = dateOfBirth; 27 | this.nationalId = nationalId; 28 | } 29 | 30 | public int getId() { 31 | return id; 32 | } 33 | public void setId(int id) { 34 | this.id = id; 35 | } 36 | public String getFirstName() { 37 | return firstName; 38 | } 39 | public void setFirstName(String firstName) { 40 | this.firstName = firstName; 41 | } 42 | public String getLastName() { 43 | return lastName; 44 | } 45 | public void setLastName(String lastName) { 46 | this.lastName = lastName; 47 | } 48 | public LocalDate getDateOfBirth() { 49 | return dateOfBirth; 50 | } 51 | public void setDateOfBirth(LocalDate dateOfBirth) { 52 | this.dateOfBirth = dateOfBirth; 53 | } 54 | public String getNationalId() { 55 | return nationalId; 56 | } 57 | public void setNationalId(String nationalId) { 58 | this.nationalId = nationalId; 59 | } 60 | 61 | } 62 | -------------------------------------------------------------------------------- /day4Assignment2/src/day4Assignment2/Main.java: -------------------------------------------------------------------------------- 1 | package day4Assignment2; 2 | 3 | import java.time.LocalDate; 4 | 5 | import day4Assignment2.Abstract.BaseCustomerManager; 6 | import day4Assignment2.Adapters.MernisServiceAdapter; 7 | import day4Assignment2.Concrete.NeroCustomerManager; 8 | import day4Assignment2.Concrete.StarbucksCustomerManager; 9 | import day4Assignment2.Entities.Customer; 10 | 11 | public class Main { 12 | 13 | public static void main(String[] args) { 14 | 15 | BaseCustomerManager customerManager = new StarbucksCustomerManager(new MernisServiceAdapter()); 16 | customerManager.save(new Customer(1, "Ron", "Weasly", LocalDate.of(1980, 3, 1), "1234")); 17 | 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /day4Assignment2/src/tr/gov/nvi/tckimlik/WS/KPSPublic.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KPSPublic.java 3 | * 4 | * This file was auto-generated from WSDL 5 | * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 6 | */ 7 | 8 | package tr.gov.nvi.tckimlik.WS; 9 | 10 | public interface KPSPublic extends javax.xml.rpc.Service { 11 | public java.lang.String getKPSPublicSoapAddress(); 12 | 13 | public tr.gov.nvi.tckimlik.WS.KPSPublicSoap getKPSPublicSoap() throws javax.xml.rpc.ServiceException; 14 | 15 | public tr.gov.nvi.tckimlik.WS.KPSPublicSoap getKPSPublicSoap(java.net.URL portAddress) throws javax.xml.rpc.ServiceException; 16 | } 17 | -------------------------------------------------------------------------------- /day4Assignment2/src/tr/gov/nvi/tckimlik/WS/KPSPublicLocator.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KPSPublicLocator.java 3 | * 4 | * This file was auto-generated from WSDL 5 | * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 6 | */ 7 | 8 | package tr.gov.nvi.tckimlik.WS; 9 | 10 | public class KPSPublicLocator extends org.apache.axis.client.Service implements tr.gov.nvi.tckimlik.WS.KPSPublic { 11 | 12 | public KPSPublicLocator() { 13 | } 14 | 15 | 16 | public KPSPublicLocator(org.apache.axis.EngineConfiguration config) { 17 | super(config); 18 | } 19 | 20 | public KPSPublicLocator(java.lang.String wsdlLoc, javax.xml.namespace.QName sName) throws javax.xml.rpc.ServiceException { 21 | super(wsdlLoc, sName); 22 | } 23 | 24 | // Use to get a proxy class for KPSPublicSoap 25 | private java.lang.String KPSPublicSoap_address = "https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx"; 26 | 27 | public java.lang.String getKPSPublicSoapAddress() { 28 | return KPSPublicSoap_address; 29 | } 30 | 31 | // The WSDD service name defaults to the port name. 32 | private java.lang.String KPSPublicSoapWSDDServiceName = "KPSPublicSoap"; 33 | 34 | public java.lang.String getKPSPublicSoapWSDDServiceName() { 35 | return KPSPublicSoapWSDDServiceName; 36 | } 37 | 38 | public void setKPSPublicSoapWSDDServiceName(java.lang.String name) { 39 | KPSPublicSoapWSDDServiceName = name; 40 | } 41 | 42 | public tr.gov.nvi.tckimlik.WS.KPSPublicSoap getKPSPublicSoap() throws javax.xml.rpc.ServiceException { 43 | java.net.URL endpoint; 44 | try { 45 | endpoint = new java.net.URL(KPSPublicSoap_address); 46 | } 47 | catch (java.net.MalformedURLException e) { 48 | throw new javax.xml.rpc.ServiceException(e); 49 | } 50 | return getKPSPublicSoap(endpoint); 51 | } 52 | 53 | public tr.gov.nvi.tckimlik.WS.KPSPublicSoap getKPSPublicSoap(java.net.URL portAddress) throws javax.xml.rpc.ServiceException { 54 | try { 55 | tr.gov.nvi.tckimlik.WS.KPSPublicSoapStub _stub = new tr.gov.nvi.tckimlik.WS.KPSPublicSoapStub(portAddress, this); 56 | _stub.setPortName(getKPSPublicSoapWSDDServiceName()); 57 | return _stub; 58 | } 59 | catch (org.apache.axis.AxisFault e) { 60 | return null; 61 | } 62 | } 63 | 64 | public void setKPSPublicSoapEndpointAddress(java.lang.String address) { 65 | KPSPublicSoap_address = address; 66 | } 67 | 68 | /** 69 | * For the given interface, get the stub implementation. 70 | * If this service has no port for the given interface, 71 | * then ServiceException is thrown. 72 | */ 73 | public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException { 74 | try { 75 | if (tr.gov.nvi.tckimlik.WS.KPSPublicSoap.class.isAssignableFrom(serviceEndpointInterface)) { 76 | tr.gov.nvi.tckimlik.WS.KPSPublicSoapStub _stub = new tr.gov.nvi.tckimlik.WS.KPSPublicSoapStub(new java.net.URL(KPSPublicSoap_address), this); 77 | _stub.setPortName(getKPSPublicSoapWSDDServiceName()); 78 | return _stub; 79 | } 80 | } 81 | catch (java.lang.Throwable t) { 82 | throw new javax.xml.rpc.ServiceException(t); 83 | } 84 | throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface: " + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName())); 85 | } 86 | 87 | /** 88 | * For the given interface, get the stub implementation. 89 | * If this service has no port for the given interface, 90 | * then ServiceException is thrown. 91 | */ 92 | public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException { 93 | if (portName == null) { 94 | return getPort(serviceEndpointInterface); 95 | } 96 | java.lang.String inputPortName = portName.getLocalPart(); 97 | if ("KPSPublicSoap".equals(inputPortName)) { 98 | return getKPSPublicSoap(); 99 | } 100 | else { 101 | java.rmi.Remote _stub = getPort(serviceEndpointInterface); 102 | ((org.apache.axis.client.Stub) _stub).setPortName(portName); 103 | return _stub; 104 | } 105 | } 106 | 107 | public javax.xml.namespace.QName getServiceName() { 108 | return new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "KPSPublic"); 109 | } 110 | 111 | private java.util.HashSet ports = null; 112 | 113 | public java.util.Iterator getPorts() { 114 | if (ports == null) { 115 | ports = new java.util.HashSet(); 116 | ports.add(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "KPSPublicSoap")); 117 | } 118 | return ports.iterator(); 119 | } 120 | 121 | /** 122 | * Set the endpoint address for the specified port name. 123 | */ 124 | public void setEndpointAddress(java.lang.String portName, java.lang.String address) throws javax.xml.rpc.ServiceException { 125 | 126 | if ("KPSPublicSoap".equals(portName)) { 127 | setKPSPublicSoapEndpointAddress(address); 128 | } 129 | else 130 | { // Unknown Port Name 131 | throw new javax.xml.rpc.ServiceException(" Cannot set Endpoint Address for Unknown Port" + portName); 132 | } 133 | } 134 | 135 | /** 136 | * Set the endpoint address for the specified port name. 137 | */ 138 | public void setEndpointAddress(javax.xml.namespace.QName portName, java.lang.String address) throws javax.xml.rpc.ServiceException { 139 | setEndpointAddress(portName.getLocalPart(), address); 140 | } 141 | 142 | } 143 | -------------------------------------------------------------------------------- /day4Assignment2/src/tr/gov/nvi/tckimlik/WS/KPSPublicSoap.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KPSPublicSoap.java 3 | * 4 | * This file was auto-generated from WSDL 5 | * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 6 | */ 7 | 8 | package tr.gov.nvi.tckimlik.WS; 9 | 10 | public interface KPSPublicSoap extends java.rmi.Remote { 11 | public boolean TCKimlikNoDogrula(long TCKimlikNo, java.lang.String ad, java.lang.String soyad, int dogumYili) throws java.rmi.RemoteException; 12 | } 13 | -------------------------------------------------------------------------------- /day4Assignment2/src/tr/gov/nvi/tckimlik/WS/KPSPublicSoapProxy.java: -------------------------------------------------------------------------------- 1 | package tr.gov.nvi.tckimlik.WS; 2 | 3 | public class KPSPublicSoapProxy implements tr.gov.nvi.tckimlik.WS.KPSPublicSoap { 4 | private String _endpoint = null; 5 | private tr.gov.nvi.tckimlik.WS.KPSPublicSoap kPSPublicSoap = null; 6 | 7 | public KPSPublicSoapProxy() { 8 | _initKPSPublicSoapProxy(); 9 | } 10 | 11 | public KPSPublicSoapProxy(String endpoint) { 12 | _endpoint = endpoint; 13 | _initKPSPublicSoapProxy(); 14 | } 15 | 16 | private void _initKPSPublicSoapProxy() { 17 | try { 18 | kPSPublicSoap = (new tr.gov.nvi.tckimlik.WS.KPSPublicLocator()).getKPSPublicSoap(); 19 | if (kPSPublicSoap != null) { 20 | if (_endpoint != null) 21 | ((javax.xml.rpc.Stub)kPSPublicSoap)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint); 22 | else 23 | _endpoint = (String)((javax.xml.rpc.Stub)kPSPublicSoap)._getProperty("javax.xml.rpc.service.endpoint.address"); 24 | } 25 | 26 | } 27 | catch (javax.xml.rpc.ServiceException serviceException) {} 28 | } 29 | 30 | public String getEndpoint() { 31 | return _endpoint; 32 | } 33 | 34 | public void setEndpoint(String endpoint) { 35 | _endpoint = endpoint; 36 | if (kPSPublicSoap != null) 37 | ((javax.xml.rpc.Stub)kPSPublicSoap)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint); 38 | 39 | } 40 | 41 | public tr.gov.nvi.tckimlik.WS.KPSPublicSoap getKPSPublicSoap() { 42 | if (kPSPublicSoap == null) 43 | _initKPSPublicSoapProxy(); 44 | return kPSPublicSoap; 45 | } 46 | 47 | public boolean TCKimlikNoDogrula(long TCKimlikNo, java.lang.String ad, java.lang.String soyad, int dogumYili) throws java.rmi.RemoteException{ 48 | if (kPSPublicSoap == null) 49 | _initKPSPublicSoapProxy(); 50 | return kPSPublicSoap.TCKimlikNoDogrula(TCKimlikNo, ad, soyad, dogumYili); 51 | } 52 | 53 | 54 | } -------------------------------------------------------------------------------- /day4Assignment2/src/tr/gov/nvi/tckimlik/WS/KPSPublicSoapStub.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KPSPublicSoapStub.java 3 | * 4 | * This file was auto-generated from WSDL 5 | * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 6 | */ 7 | 8 | package tr.gov.nvi.tckimlik.WS; 9 | 10 | public class KPSPublicSoapStub extends org.apache.axis.client.Stub implements tr.gov.nvi.tckimlik.WS.KPSPublicSoap { 11 | private java.util.Vector cachedSerClasses = new java.util.Vector(); 12 | private java.util.Vector cachedSerQNames = new java.util.Vector(); 13 | private java.util.Vector cachedSerFactories = new java.util.Vector(); 14 | private java.util.Vector cachedDeserFactories = new java.util.Vector(); 15 | 16 | static org.apache.axis.description.OperationDesc [] _operations; 17 | 18 | static { 19 | _operations = new org.apache.axis.description.OperationDesc[1]; 20 | _initOperationDesc1(); 21 | } 22 | 23 | private static void _initOperationDesc1(){ 24 | org.apache.axis.description.OperationDesc oper; 25 | org.apache.axis.description.ParameterDesc param; 26 | oper = new org.apache.axis.description.OperationDesc(); 27 | oper.setName("TCKimlikNoDogrula"); 28 | param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "TCKimlikNo"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false); 29 | oper.addParameter(param); 30 | param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "Ad"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false); 31 | param.setOmittable(true); 32 | oper.addParameter(param); 33 | param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "Soyad"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false); 34 | param.setOmittable(true); 35 | oper.addParameter(param); 36 | param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "DogumYili"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"), int.class, false, false); 37 | oper.addParameter(param); 38 | oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); 39 | oper.setReturnClass(boolean.class); 40 | oper.setReturnQName(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "TCKimlikNoDogrulaResult")); 41 | oper.setStyle(org.apache.axis.constants.Style.WRAPPED); 42 | oper.setUse(org.apache.axis.constants.Use.LITERAL); 43 | _operations[0] = oper; 44 | 45 | } 46 | 47 | public KPSPublicSoapStub() throws org.apache.axis.AxisFault { 48 | this(null); 49 | } 50 | 51 | public KPSPublicSoapStub(java.net.URL endpointURL, javax.xml.rpc.Service service) throws org.apache.axis.AxisFault { 52 | this(service); 53 | super.cachedEndpoint = endpointURL; 54 | } 55 | 56 | public KPSPublicSoapStub(javax.xml.rpc.Service service) throws org.apache.axis.AxisFault { 57 | if (service == null) { 58 | super.service = new org.apache.axis.client.Service(); 59 | } else { 60 | super.service = service; 61 | } 62 | ((org.apache.axis.client.Service)super.service).setTypeMappingVersion("1.2"); 63 | } 64 | 65 | protected org.apache.axis.client.Call createCall() throws java.rmi.RemoteException { 66 | try { 67 | org.apache.axis.client.Call _call = super._createCall(); 68 | if (super.maintainSessionSet) { 69 | _call.setMaintainSession(super.maintainSession); 70 | } 71 | if (super.cachedUsername != null) { 72 | _call.setUsername(super.cachedUsername); 73 | } 74 | if (super.cachedPassword != null) { 75 | _call.setPassword(super.cachedPassword); 76 | } 77 | if (super.cachedEndpoint != null) { 78 | _call.setTargetEndpointAddress(super.cachedEndpoint); 79 | } 80 | if (super.cachedTimeout != null) { 81 | _call.setTimeout(super.cachedTimeout); 82 | } 83 | if (super.cachedPortName != null) { 84 | _call.setPortName(super.cachedPortName); 85 | } 86 | java.util.Enumeration keys = super.cachedProperties.keys(); 87 | while (keys.hasMoreElements()) { 88 | java.lang.String key = (java.lang.String) keys.nextElement(); 89 | _call.setProperty(key, super.cachedProperties.get(key)); 90 | } 91 | return _call; 92 | } 93 | catch (java.lang.Throwable _t) { 94 | throw new org.apache.axis.AxisFault("Failure trying to get the Call object", _t); 95 | } 96 | } 97 | 98 | public boolean TCKimlikNoDogrula(long TCKimlikNo, java.lang.String ad, java.lang.String soyad, int dogumYili) throws java.rmi.RemoteException { 99 | if (super.cachedEndpoint == null) { 100 | throw new org.apache.axis.NoEndPointException(); 101 | } 102 | org.apache.axis.client.Call _call = createCall(); 103 | _call.setOperation(_operations[0]); 104 | _call.setUseSOAPAction(true); 105 | _call.setSOAPActionURI("http://tckimlik.nvi.gov.tr/WS/TCKimlikNoDogrula"); 106 | _call.setEncodingStyle(null); 107 | _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE); 108 | _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE); 109 | _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); 110 | _call.setOperationName(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "TCKimlikNoDogrula")); 111 | 112 | setRequestHeaders(_call); 113 | setAttachments(_call); 114 | try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {new java.lang.Long(TCKimlikNo), ad, soyad, new java.lang.Integer(dogumYili)}); 115 | 116 | if (_resp instanceof java.rmi.RemoteException) { 117 | throw (java.rmi.RemoteException)_resp; 118 | } 119 | else { 120 | extractAttachments(_call); 121 | try { 122 | return ((java.lang.Boolean) _resp).booleanValue(); 123 | } catch (java.lang.Exception _exception) { 124 | return ((java.lang.Boolean) org.apache.axis.utils.JavaUtils.convert(_resp, boolean.class)).booleanValue(); 125 | } 126 | } 127 | } catch (org.apache.axis.AxisFault axisFaultException) { 128 | throw axisFaultException; 129 | } 130 | } 131 | 132 | } 133 | -------------------------------------------------------------------------------- /day4Assignment3/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /day4Assignment3/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | -------------------------------------------------------------------------------- /day4Assignment3/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | day4Assignment3 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /day4Assignment3/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=15 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled 11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 12 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning 13 | org.eclipse.jdt.core.compiler.release=enabled 14 | org.eclipse.jdt.core.compiler.source=15 15 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Abstract/CampaignService.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Abstract; 2 | 3 | import day4Assignment3.Entities.Campaign; 4 | 5 | public interface CampaignService { 6 | 7 | void add(Campaign campaign); 8 | void delete(Campaign campaign); 9 | void update(Campaign campaign); 10 | } 11 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Abstract/CheckUserService.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Abstract; 2 | 3 | import day4Assignment3.Entities.Gamer; 4 | 5 | public interface CheckUserService { 6 | 7 | boolean CheckIfRealPerson(Gamer gamer); 8 | } 9 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Abstract/Entity.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Abstract; 2 | 3 | public interface Entity { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Abstract/GameService.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Abstract; 2 | 3 | import day4Assignment3.Entities.Game; 4 | 5 | public interface GameService { 6 | 7 | void add(Game game); 8 | void delete(Game game); 9 | void update(Game game); 10 | } 11 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Abstract/GamerService.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Abstract; 2 | 3 | import day4Assignment3.Entities.Gamer; 4 | 5 | public interface GamerService { 6 | 7 | void add(Gamer gamer); 8 | void delete(Gamer gamer); 9 | void update(Gamer gamer); 10 | } 11 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Abstract/SaleService.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Abstract; 2 | 3 | import day4Assignment3.Entities.Campaign; 4 | import day4Assignment3.Entities.Game; 5 | import day4Assignment3.Entities.Gamer; 6 | 7 | public interface SaleService { 8 | 9 | void sale(Gamer gamer, Game game, Campaign campaign); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Adapters/FakeMerisService.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Adapters; 2 | 3 | import day4Assignment3.Abstract.CheckUserService; 4 | import day4Assignment3.Entities.Gamer; 5 | import day4Assignment3.Mernis.PersonValidation; 6 | 7 | public class FakeMerisService implements CheckUserService{ 8 | 9 | @Override 10 | public boolean CheckIfRealPerson(Gamer gamer) { 11 | 12 | PersonValidation checkPerson = new PersonValidation(); 13 | 14 | boolean result = true; 15 | try { 16 | result = checkPerson.ValidateByPersonalInfo(Long. parseLong(gamer.getNationalId()), gamer.getFirstName().toUpperCase(), gamer.getLastName().toUpperCase(), gamer.getDateOfBirth().getYear()); 17 | } catch (Exception e) { 18 | e.printStackTrace(); 19 | } 20 | return result; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Concrete/CampaignManager.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Concrete; 2 | 3 | import day4Assignment3.Abstract.CampaignService; 4 | import day4Assignment3.Entities.Campaign; 5 | 6 | public class CampaignManager implements CampaignService{ 7 | 8 | @Override 9 | public void add(Campaign campaign) { 10 | System.out.println(campaign.getTitle() + " has been added."); 11 | } 12 | 13 | @Override 14 | public void delete(Campaign campaign) { 15 | System.out.println(campaign.getTitle() + " has been deleted."); 16 | } 17 | 18 | @Override 19 | public void update(Campaign campaign) { 20 | System.out.println(campaign.getTitle() + " has been updated."); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Concrete/GameManager.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Concrete; 2 | 3 | import day4Assignment3.Abstract.GameService; 4 | import day4Assignment3.Entities.Game; 5 | 6 | public class GameManager implements GameService{ 7 | 8 | @Override 9 | public void add(Game game) { 10 | System.out.println(game.getName() + " has been added."); 11 | } 12 | 13 | @Override 14 | public void delete(Game game) { 15 | System.out.println(game.getName() + " has been deleted."); 16 | } 17 | 18 | @Override 19 | public void update(Game game) { 20 | System.out.println(game.getName() + " has been updated."); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Concrete/GamerManager.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Concrete; 2 | 3 | import day4Assignment3.Abstract.CheckUserService; 4 | import day4Assignment3.Abstract.GamerService; 5 | import day4Assignment3.Entities.Gamer; 6 | 7 | public class GamerManager implements GamerService{ 8 | 9 | private CheckUserService checkUserService; 10 | 11 | public GamerManager(CheckUserService checkUserService) { 12 | this.checkUserService = checkUserService; 13 | } 14 | 15 | @Override 16 | public void add(Gamer gamer) { 17 | if(checkUserService.CheckIfRealPerson(gamer)){ 18 | System.out.println(gamer.getFirstName() + " " + gamer.getLastName() + "has been added."); 19 | }else { 20 | System.out.println("Something went wrong. Operation failed."); 21 | } 22 | } 23 | 24 | @Override 25 | public void delete(Gamer gamer) { 26 | System.out.println(gamer.getFirstName() + " " + gamer.getLastName() + "has been deleted."); 27 | } 28 | 29 | @Override 30 | public void update(Gamer gamer) { 31 | System.out.println(gamer.getFirstName() + " " + gamer.getLastName() + "has been updated."); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Concrete/SaleManager.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Concrete; 2 | 3 | import day4Assignment3.Abstract.SaleService; 4 | import day4Assignment3.Entities.Campaign; 5 | import day4Assignment3.Entities.Game; 6 | import day4Assignment3.Entities.Gamer; 7 | 8 | public class SaleManager implements SaleService{ 9 | 10 | @Override 11 | public void sale(Gamer gamer, Game game, Campaign campaign) { 12 | 13 | double discountedPrice = game.getPrice() - (game.getPrice() * campaign.getDiscountRate() / 100); 14 | 15 | System.out.println(gamer.getFirstName() + " " + gamer.getLastName() + 16 | " bought " + game.getName() + " for $" + discountedPrice + 17 | " by taking advantage of the " + campaign.getTitle() + " campaign."); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Entities/Campaign.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Entities; 2 | 3 | import java.time.LocalDate; 4 | 5 | import day4Assignment3.Abstract.Entity; 6 | 7 | public class Campaign implements Entity{ 8 | 9 | private int id; 10 | private String title; 11 | private LocalDate startedAt; 12 | private LocalDate completedAt; 13 | private int discountRate; 14 | 15 | public Campaign(int id, String title, LocalDate startedAt, LocalDate completedAt, int discountRate) { 16 | this.id = id; 17 | this.title = title; 18 | this.startedAt = startedAt; 19 | this.completedAt = completedAt; 20 | this.discountRate = discountRate; 21 | } 22 | 23 | public int getId() { 24 | return id; 25 | } 26 | public void setId(int id) { 27 | this.id = id; 28 | } 29 | public String getTitle() { 30 | return title; 31 | } 32 | public void setTitle(String title) { 33 | this.title = title; 34 | } 35 | public LocalDate getStartedAt() { 36 | return startedAt; 37 | } 38 | public void setStartedAt(LocalDate startedAt) { 39 | this.startedAt = startedAt; 40 | } 41 | public LocalDate getCompletedAt() { 42 | return completedAt; 43 | } 44 | public void setCompletedAt(LocalDate completedAt) { 45 | this.completedAt = completedAt; 46 | } 47 | public int getDiscountRate() { 48 | return discountRate; 49 | } 50 | public void setDiscountRate(int discountRate) { 51 | this.discountRate = discountRate; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Entities/Game.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Entities; 2 | 3 | import day4Assignment3.Abstract.Entity; 4 | 5 | public class Game implements Entity{ 6 | 7 | private int id; 8 | private String name; 9 | private String type; 10 | private double price; 11 | private int releaseYear; 12 | private String description; 13 | 14 | public Game(int id, String name, String type, double price, int releaseYear, String description) { 15 | this.id = id; 16 | this.name = name; 17 | this.type = type; 18 | this.price = price; 19 | this.releaseYear = releaseYear; 20 | this.description = description; 21 | } 22 | 23 | public int getId() { 24 | return id; 25 | } 26 | public void setId(int id) { 27 | this.id = id; 28 | } 29 | public String getName() { 30 | return name; 31 | } 32 | public void setName(String name) { 33 | this.name = name; 34 | } 35 | public String getType() { 36 | return type; 37 | } 38 | public void setType(String type) { 39 | this.type = type; 40 | } 41 | public double getPrice() { 42 | return price; 43 | } 44 | public void setPrice(double price) { 45 | this.price = price; 46 | } 47 | public int getReleaseYear() { 48 | return releaseYear; 49 | } 50 | public void setReleaseYear(int releaseYear) { 51 | this.releaseYear = releaseYear; 52 | } 53 | public String getDescription() { 54 | return description; 55 | } 56 | public void setDescription(String description) { 57 | this.description = description; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Entities/Gamer.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Entities; 2 | 3 | import java.time.LocalDate; 4 | 5 | public class Gamer extends User{ 6 | 7 | private int userid; 8 | private String firstName; 9 | private String lastName; 10 | private LocalDate dateOfBirth; 11 | private String nationalId; 12 | 13 | public Gamer() { 14 | 15 | } 16 | 17 | public Gamer(int userid, String firstName, String lastName, LocalDate dateOfBirth, String nationalId) { 18 | super(); 19 | this.userid = userid; 20 | this.firstName = firstName; 21 | this.lastName = lastName; 22 | this.dateOfBirth = dateOfBirth; 23 | this.nationalId = nationalId; 24 | } 25 | 26 | public int getUserid() { 27 | return userid; 28 | } 29 | public void setUserid(int userid) { 30 | this.userid = userid; 31 | } 32 | public String getFirstName() { 33 | return firstName; 34 | } 35 | public void setFirstName(String firstName) { 36 | this.firstName = firstName; 37 | } 38 | public String getLastName() { 39 | return lastName; 40 | } 41 | public void setLastName(String lastName) { 42 | this.lastName = lastName; 43 | } 44 | public LocalDate getDateOfBirth() { 45 | return dateOfBirth; 46 | } 47 | public void setDateOfBirth(LocalDate dateOfBirth) { 48 | this.dateOfBirth = dateOfBirth; 49 | } 50 | public String getNationalId() { 51 | return nationalId; 52 | } 53 | public void setNationalId(String nationalId) { 54 | this.nationalId = nationalId; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Entities/User.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Entities; 2 | 3 | import day4Assignment3.Abstract.Entity; 4 | 5 | public class User implements Entity{ 6 | 7 | private int id; 8 | private String email; 9 | 10 | public User() { 11 | 12 | } 13 | 14 | public int getId() { 15 | return id; 16 | } 17 | public void setId(int id) { 18 | this.id = id; 19 | } 20 | public String getEmail() { 21 | return email; 22 | } 23 | public void setEmail(String email) { 24 | this.email = email; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Main.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3; 2 | 3 | import java.time.LocalDate; 4 | 5 | import day4Assignment3.Adapters.FakeMerisService; 6 | import day4Assignment3.Concrete.CampaignManager; 7 | import day4Assignment3.Concrete.GameManager; 8 | import day4Assignment3.Concrete.GamerManager; 9 | import day4Assignment3.Concrete.SaleManager; 10 | import day4Assignment3.Entities.Campaign; 11 | import day4Assignment3.Entities.Game; 12 | import day4Assignment3.Entities.Gamer; 13 | 14 | public class Main { 15 | 16 | public static void main(String[] args) { 17 | 18 | GameManager gameManager = new GameManager(); 19 | Game game = new Game(1, "Doom 3", "FPS", 200, 2004, "Horror"); 20 | gameManager.add(game); 21 | 22 | GamerManager gamerManager = new GamerManager(new FakeMerisService()); 23 | Gamer gamer = new Gamer(1, "Hermione", "Granger", LocalDate.of(1979, 9, 19), "1234"); 24 | gamerManager.add(gamer); 25 | 26 | CampaignManager campaignManager = new CampaignManager(); 27 | Campaign campaign = new Campaign(1, "Black Friday", null, LocalDate.of(2021, 5, 10), 5); 28 | campaignManager.add(campaign); 29 | 30 | SaleManager sale = new SaleManager(); 31 | sale.sale(gamer, game, campaign); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /day4Assignment3/src/day4Assignment3/Mernis/PersonValidation.java: -------------------------------------------------------------------------------- 1 | package day4Assignment3.Mernis; 2 | 3 | public class PersonValidation { 4 | 5 | public boolean ValidateByPersonalInfo(long nationalId, String firstName, String lastName, int yearOfBirth) 6 | { 7 | System.out.println(firstName + " " + lastName + " is valid person." ); 8 | return true; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /day5Assignment1/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /day5Assignment1/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | -------------------------------------------------------------------------------- /day5Assignment1/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | day5Assignment1 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /day5Assignment1/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=15 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled 11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 12 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning 13 | org.eclipse.jdt.core.compiler.release=enabled 14 | org.eclipse.jdt.core.compiler.source=15 15 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/Main.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1; 2 | 3 | import java.util.Scanner; 4 | 5 | import day5Assignment1.business.abstracts.AuthService; 6 | import day5Assignment1.business.concretes.AuthManager; 7 | import day5Assignment1.business.concretes.UserManager; 8 | import day5Assignment1.core.concretes.GoogleManagerAdapter; 9 | import day5Assignment1.core.concretes.VerificationLink; 10 | import day5Assignment1.dataAccess.concretes.InMemoryUserDao; 11 | import day5Assignment1.google.GoogleManager; 12 | 13 | public class Main { 14 | 15 | private static boolean flag = true; 16 | private static Scanner in = new Scanner(System.in); 17 | static AuthService authService = new AuthManager( new UserManager(new InMemoryUserDao()), new GoogleManagerAdapter(), new VerificationLink()); 18 | 19 | public static void main(String[] args) { 20 | 21 | dashboard(); 22 | 23 | // GoogleManager g = new GoogleManager(); 24 | // g.register("test1@test1.com", "test123"); 25 | 26 | //authService.registerGoogle("test1@test1.com", "test123"); 27 | 28 | } 29 | 30 | public static void dashboard() { 31 | 32 | while (flag) 33 | { 34 | System.out.println("\n*************** Main Menu ***************"); 35 | System.out.println(" 1. User Register"); 36 | System.out.println(" 2. User Register With Google"); 37 | System.out.println(" 3. User Login"); 38 | System.out.println(" 4. Exit \n"); 39 | 40 | int key = in.nextInt(); 41 | switch (key) 42 | { 43 | case 1: 44 | Register(); 45 | break; 46 | case 2: 47 | RegisterGoogleAccount(); 48 | break; 49 | case 3: 50 | Login(); 51 | break; 52 | case 4: 53 | System.out.println("*************** Have a nice day. Good Bye :) ***************"); 54 | flag = false; 55 | break; 56 | default: 57 | System.out.println("\nYou entered an incorrect value! Please try again."); 58 | break; 59 | } 60 | } 61 | 62 | } 63 | 64 | private static void Register() { 65 | 66 | System.out.println("First Name: "); 67 | String firstName = in.next(); 68 | 69 | System.out.println("Last Name: "); 70 | String lastName = in.next(); 71 | 72 | System.out.println("Email Address: "); 73 | String email = in.next(); 74 | 75 | System.out.println("Password: "); 76 | String password = in.next(); 77 | 78 | authService.register(firstName, lastName, email, password); 79 | 80 | } 81 | 82 | private static void RegisterGoogleAccount() { 83 | 84 | System.out.println("Email Address: "); 85 | String email = in.next().toString(); 86 | 87 | System.out.println("Password: "); 88 | String password = in.next().toString(); 89 | 90 | authService.registerGoogle(email, password); 91 | } 92 | 93 | private static void Login() { 94 | 95 | System.out.println("Email Address: "); 96 | String email = in.next(); 97 | 98 | System.out.println("Password: "); 99 | String password = in.next(); 100 | 101 | authService.login(email, password); 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/business/abstracts/AuthService.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.business.abstracts; 2 | 3 | public interface AuthService { 4 | 5 | void register(String firstName, String lastName, String email, String password); 6 | void registerGoogle(String firstName,String password); 7 | void login(String email, String password); 8 | void logOut(); 9 | } 10 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/business/abstracts/UserService.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.business.abstracts; 2 | 3 | import java.util.List; 4 | 5 | import day5Assignment1.entities.concretes.User; 6 | 7 | public interface UserService { 8 | 9 | boolean add(User user); 10 | void update(User user); 11 | void delete(User user); 12 | User getById(int id); 13 | List getall(); 14 | User getByEmail(String email); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/business/concretes/AuthManager.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.business.concretes; 2 | 3 | import day5Assignment1.business.abstracts.AuthService; 4 | import day5Assignment1.business.abstracts.UserService; 5 | import day5Assignment1.core.abstracts.RegisterService; 6 | import day5Assignment1.core.abstracts.VerificationService; 7 | import day5Assignment1.entities.concretes.User; 8 | 9 | public class AuthManager implements AuthService{ 10 | 11 | private UserService userService; 12 | private RegisterService registerService; 13 | private VerificationService verificationService; 14 | 15 | public AuthManager(UserService userService, RegisterService registerService, VerificationService verificationService) { 16 | this.userService = userService; 17 | this.registerService = registerService; 18 | this.verificationService = verificationService; 19 | } 20 | 21 | @Override 22 | public void register(String firstName, String lastName, String email, String password) { 23 | if(this.userService.add(new User(firstName, lastName, email, password))) { 24 | System.out.println("Register successful! Please verify your e-mail address with the link sent."); 25 | this.verificationService.send(); 26 | }else { 27 | System.out.println("Register Failed"); 28 | } 29 | } 30 | 31 | @Override 32 | public void registerGoogle(String email, String password) { 33 | if(this.registerService.register(email, password) != null) { 34 | this.userService.add(this.registerService.register(email, password)); 35 | System.out.println("You have successfully registered with your Google account."); 36 | }else { 37 | System.out.println("There are no such users registered with Google."); 38 | } 39 | } 40 | 41 | @Override 42 | public void login(String email, String password) { 43 | if(this.userService.getByEmail(email) != null) { 44 | if(this.userService.getByEmail(email).getEmail().equals(email) && this.userService.getByEmail(email).getPassword().equals(password)) { 45 | System.out.println("Login successful"); 46 | }else { 47 | System.out.println("Your e-mail address or password is incorrect"); 48 | } 49 | }else { 50 | System.out.println("This user is not registered."); 51 | } 52 | } 53 | 54 | @Override 55 | public void logOut() { 56 | System.out.println("Exit done"); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/business/concretes/UserManager.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.business.concretes; 2 | 3 | import java.util.List; 4 | import java.util.regex.Matcher; 5 | import java.util.regex.Pattern; 6 | 7 | import day5Assignment1.business.abstracts.UserService; 8 | import day5Assignment1.dataAccess.abstracts.UserDao; 9 | import day5Assignment1.entities.concretes.User; 10 | 11 | public class UserManager implements UserService{ 12 | 13 | private UserDao userDao; 14 | 15 | public UserManager(UserDao userDao) { 16 | this.userDao = userDao; 17 | } 18 | 19 | @Override 20 | public boolean add(User user) { 21 | 22 | boolean result = false; 23 | 24 | if(CheckIfEmailValid(user.getEmail()) && CheckIfEmailExists(user.getEmail())){ 25 | if(CheckIfPasswordValid(user.getPassword())){ 26 | if(CheckIfNameLengthValid(user.getFirstName(), user.getLastName())) { 27 | this.userDao.add(user); 28 | // System.out.println("Your registration has been successfully completed (InMemory)"); 29 | result = true; 30 | return result; 31 | }else { 32 | System.out.println("Your name and surname must consist of at least two letters."); 33 | } 34 | 35 | } else { 36 | System.out.println("Your password must be at least 6 characters."); 37 | } 38 | 39 | } else { 40 | result = false; 41 | System.out.println("Your email is invalid"); 42 | } 43 | return result; 44 | } 45 | 46 | @Override 47 | public void update(User user) { 48 | this.userDao.update(user); 49 | } 50 | 51 | @Override 52 | public void delete(User user) { 53 | this.userDao.delete(user); 54 | } 55 | 56 | @Override 57 | public User getById(int id) { 58 | return this.userDao.getById(id); 59 | } 60 | 61 | @Override 62 | public List getall() { 63 | return this.userDao.getall(); 64 | } 65 | 66 | @Override 67 | public User getByEmail(String email) { 68 | return this.userDao.getByEmail(email); 69 | } 70 | 71 | public boolean CheckIfPasswordValid(String password){ 72 | boolean result = false; 73 | 74 | if(password.length() >= 6){ 75 | result = true; 76 | } 77 | 78 | return result; 79 | } 80 | 81 | public boolean CheckIfEmailValid(String email) { 82 | boolean result = false; 83 | Pattern pattern = Pattern.compile("^[A-Za-z0-9+_.-]+@(.+)$"); 84 | Matcher matcher = pattern.matcher(email); 85 | if(matcher.matches()) { 86 | result = true; 87 | } 88 | return result; 89 | } 90 | 91 | public boolean CheckIfEmailExists(String email) { 92 | boolean result = false; 93 | if(this.userDao.getByEmail(email) == null) { 94 | result = true; 95 | } 96 | return result; 97 | } 98 | 99 | public boolean CheckIfNameLengthValid(String firstName, String lastName) { 100 | boolean result = false; 101 | if(firstName.length() >=2 && lastName.length() >= 2){ 102 | result = true; 103 | } 104 | return result; 105 | } 106 | 107 | 108 | } 109 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/core/abstracts/RegisterService.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.core.abstracts; 2 | 3 | import day5Assignment1.entities.concretes.User; 4 | 5 | public interface RegisterService { 6 | User register(String email, String password); 7 | } 8 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/core/abstracts/VerificationService.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.core.abstracts; 2 | 3 | public interface VerificationService { 4 | void send(); 5 | } 6 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/core/concretes/GoogleManagerAdapter.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.core.concretes; 2 | 3 | import day5Assignment1.core.abstracts.RegisterService; 4 | import day5Assignment1.entities.concretes.User; 5 | import day5Assignment1.google.GoogleManager; 6 | import day5Assignment1.google.UserForGoogle; 7 | 8 | public class GoogleManagerAdapter implements RegisterService{ 9 | 10 | @Override 11 | public User register(String email, String password) { 12 | GoogleManager googleManager = new GoogleManager(); 13 | UserForGoogle userForGoogle = googleManager.register(email, password); 14 | User user = new User(userForGoogle.getFirstName(), 15 | userForGoogle.getLastName(), userForGoogle.getEmail(), 16 | userForGoogle.getPassword()); 17 | return user; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/core/concretes/VerificationLink.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.core.concretes; 2 | 3 | import java.util.UUID; 4 | 5 | import day5Assignment1.core.abstracts.VerificationService; 6 | 7 | public class VerificationLink implements VerificationService{ 8 | 9 | @Override 10 | public void send() { 11 | UUID uuid = UUID.randomUUID(); 12 | String verificationLink = "https://ecommerce.com/" + uuid.toString(); 13 | System.out.println("Please click on the link to verify your account: " + verificationLink ); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/dataAccess/abstracts/UserDao.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.dataAccess.abstracts; 2 | 3 | import java.util.List; 4 | 5 | import day5Assignment1.entities.concretes.User; 6 | 7 | public interface UserDao { 8 | 9 | void add(User user); 10 | void update(User user); 11 | void delete(User user); 12 | User getById(int id); 13 | List getall(); 14 | User getByEmail(String email); 15 | } 16 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/dataAccess/concretes/InMemoryUserDao.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.dataAccess.concretes; 2 | import java.util.ArrayList; 3 | import java.util.List; 4 | 5 | import day5Assignment1.dataAccess.abstracts.UserDao; 6 | import day5Assignment1.entities.concretes.User; 7 | 8 | public class InMemoryUserDao implements UserDao{ 9 | 10 | private List userList; 11 | private int userId; 12 | 13 | public InMemoryUserDao() { 14 | userList = new ArrayList(); 15 | userId = 0; 16 | } 17 | 18 | @Override 19 | public void add(User user) { 20 | user.setId(userId + 1); 21 | userList.add(user); 22 | userId++; 23 | // System.out.println(user.getFullName() + " has been added."); 24 | 25 | } 26 | 27 | @Override 28 | public void update(User user) { 29 | int index = user.getId()-1; 30 | System.out.println(index); 31 | userList.set(index, new User(user.getFirstName(), user.getLastName(), user.getEmail(), user.getPassword())); 32 | System.out.println(user.getFullName() + " has been updated."); 33 | } 34 | 35 | @Override 36 | public void delete(User user) { 37 | userList.remove(user.getId()-1); 38 | userId--; 39 | System.out.println(user.getFullName() + " has been deleted."); 40 | } 41 | 42 | @Override 43 | public User getById(int id) { 44 | User user = null; 45 | for (User item : userList) { 46 | if(item.getId() - 1 == id) 47 | { 48 | user = item; 49 | } 50 | } 51 | return user; 52 | } 53 | 54 | @Override 55 | public List getall() { 56 | return userList; 57 | } 58 | 59 | @Override 60 | public User getByEmail(String email) { 61 | User user = null; 62 | for (User item : userList) { 63 | if(item.getEmail().equals(email)) 64 | { 65 | user = item; 66 | } 67 | } 68 | return user; 69 | } 70 | 71 | } 72 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/entities/abstracts/Entity.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.entities.abstracts; 2 | 3 | public interface Entity { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/entities/concretes/User.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.entities.concretes; 2 | 3 | import day5Assignment1.entities.abstracts.Entity; 4 | 5 | public class User implements Entity{ 6 | 7 | private int id; 8 | private String firstName; 9 | private String lastName; 10 | private String email; 11 | private String password; 12 | 13 | public User() { 14 | // TODO Auto-generated constructor stub 15 | } 16 | 17 | public User(String firstName, String lastName, String email, String password) { 18 | super(); 19 | this.firstName = firstName; 20 | this.lastName = lastName; 21 | this.email = email; 22 | this.password = password; 23 | } 24 | 25 | public int getId() { 26 | return id; 27 | } 28 | 29 | public void setId(int id) { 30 | this.id = id; 31 | } 32 | 33 | public String getFirstName() { 34 | return firstName; 35 | } 36 | 37 | public void setFirstName(String firstName) { 38 | this.firstName = firstName; 39 | } 40 | 41 | public String getLastName() { 42 | return lastName; 43 | } 44 | 45 | public void setLastName(String lastName) { 46 | this.lastName = lastName; 47 | } 48 | 49 | public String getEmail() { 50 | return email; 51 | } 52 | 53 | public void setEmail(String email) { 54 | this.email = email; 55 | } 56 | 57 | public String getPassword() { 58 | return password; 59 | } 60 | 61 | public void setPassword(String password) { 62 | this.password = password; 63 | } 64 | 65 | public String getFullName() { 66 | return firstName + " " + lastName; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/google/GoogleManager.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.google; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import day5Assignment1.entities.concretes.User; 7 | 8 | public class GoogleManager { 9 | 10 | static List usersGoogle; 11 | 12 | public GoogleManager() { 13 | usersGoogle = new ArrayList(); 14 | usersGoogle.add(new UserForGoogle("test1", "test1", "test1@test1.com", "test123")); 15 | usersGoogle.add(new UserForGoogle("test2", "test2", "test2@test2.com", "test1223")); 16 | usersGoogle.add(new UserForGoogle("test3", "test3", "test3@test2.com", "test1432")); 17 | usersGoogle.add(new UserForGoogle("test4", "test4", "test4@test2.com", "test1335")); 18 | } 19 | 20 | public UserForGoogle register(String email, String password) { 21 | UserForGoogle user = null; 22 | for (UserForGoogle item : usersGoogle) { 23 | if(item.getEmail().equals(email) && item.getPassword().equals(password)) { 24 | user = item; 25 | break; 26 | } 27 | } 28 | return user; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /day5Assignment1/src/day5Assignment1/google/UserForGoogle.java: -------------------------------------------------------------------------------- 1 | package day5Assignment1.google; 2 | 3 | public class UserForGoogle { 4 | private int id; 5 | private String firstName; 6 | private String lastName; 7 | private String email; 8 | private String password; 9 | 10 | public UserForGoogle() { 11 | // TODO Auto-generated constructor stub 12 | } 13 | 14 | public UserForGoogle(String firstName, String lastName, String email, String password) { 15 | this.firstName = firstName; 16 | this.lastName = lastName; 17 | this.email = email; 18 | this.password = password; 19 | } 20 | 21 | public int getId() { 22 | return id; 23 | } 24 | 25 | public void setId(int id) { 26 | this.id = id; 27 | } 28 | 29 | public String getFirstName() { 30 | return firstName; 31 | } 32 | 33 | public void setFirstName(String firstName) { 34 | this.firstName = firstName; 35 | } 36 | 37 | public String getLastName() { 38 | return lastName; 39 | } 40 | 41 | public void setLastName(String lastName) { 42 | this.lastName = lastName; 43 | } 44 | 45 | public String getEmail() { 46 | return email; 47 | } 48 | 49 | public void setEmail(String email) { 50 | this.email = email; 51 | } 52 | 53 | public String getPassword() { 54 | return password; 55 | } 56 | 57 | public void setPassword(String password) { 58 | this.password = password; 59 | } 60 | 61 | public String getFullName() { 62 | return firstName + " " + lastName; 63 | } 64 | } 65 | --------------------------------------------------------------------------------