From 10aeb5ff8cee0a36a9baf063c9dc476b5b049de9 Mon Sep 17 00:00:00 2001 From: ramzi on windows Date: Mon, 3 Apr 2023 15:50:57 +0200 Subject: [PATCH 1/3] update code --- src/main/java/DTO/Attendance.java | 76 ++++++++++++++++++++++++ src/main/java/DTO/Person.java | 79 +++++++++++++++++++++++++ src/main/java/enums/Meal.java | 14 ----- src/main/java/model/DTO/Attendance.java | 14 ----- src/main/java/model/DTO/Person.java | 14 ----- src/main/java/models/Inn.java | 36 +++++++++-- src/main/java/models/Meal.java | 25 ++++++++ 7 files changed, 211 insertions(+), 47 deletions(-) create mode 100644 src/main/java/DTO/Attendance.java create mode 100644 src/main/java/DTO/Person.java delete mode 100644 src/main/java/enums/Meal.java delete mode 100644 src/main/java/model/DTO/Attendance.java delete mode 100644 src/main/java/model/DTO/Person.java create mode 100644 src/main/java/models/Meal.java diff --git a/src/main/java/DTO/Attendance.java b/src/main/java/DTO/Attendance.java new file mode 100644 index 0000000..164fcd9 --- /dev/null +++ b/src/main/java/DTO/Attendance.java @@ -0,0 +1,76 @@ +package DTO; + +import java.util.HashMap; +import models.Meal; + + + public class Attendance extends Person implements Comparable{ + + + + private String contact; //contacter le participant + private String comment;// les commentaires potentiels + private int guests; // le nombre de convives y compris le nombre de participants + private HashMap meals; // les plats amenes le type et la quantite + + public Attendance() { + } + + public Attendance(String name, String forname,String contact, String comment) { + super(name, forname); + this.contact = contact; + this.comment = comment; + this.guests = guests; + + } + + public Attendance(Person person, String name, String forname,String contact, String comment, int guests) { + super(name, forname); + this.contact = contact; + this.comment = comment; + this.guests = guests; + + } + + + + public void setContact(String contact) { + this.contact = contact; + } + + public void setComment(String comment) { + this.comment = comment; + } + + public void setGuests(int guests) { + this.guests = guests; + } + + public void addMeal(Meal meal,int qty){ + this.meals.put(meal,qty); + if (qty>0) { + this.meals.put(meal, qty); + }else if (qty==0) { + clearMeal(meal); + this.meals.remove(meal); + }else{ + throw new IllegalArgumentException("la quantite doit etre >=0"); + } + } + + public void clearMeal(Meal meal){ + + + } + + @Override + public int compareTo(Attendance o){ + if (this==o) { + return 0; + } + if (!this.name.equals(o.name)) { + return this.name.compareTo(o.name); + } + return this.forname.compareTo(o.forname); + } +} diff --git a/src/main/java/DTO/Person.java b/src/main/java/DTO/Person.java new file mode 100644 index 0000000..e6f49a7 --- /dev/null +++ b/src/main/java/DTO/Person.java @@ -0,0 +1,79 @@ + +package DTO; + +import java.util.Objects; +import java.util.Scanner; + + +public class Person { + protected String name; + protected String forname; + Scanner scanner = new Scanner(System.in); + + @Override + public int hashCode() { + int hash = 3; + hash = 79 * hash + Objects.hashCode(this.name); + hash = 79 * hash + Objects.hashCode(this.forname); + return hash; + } + + + + public Person(){ + + } + + public Person(String name, String forname) { + this.name = name; + this.forname = forname; + } + + public String getName() { + return name; + } + + public String getForname() { + return forname; + } + + public void setName(String name) { + this.name = name; + } + + public void setForname(String forname) { + this.forname = forname; + } + + @Override + public String toString() { + StringBuilder sb =new StringBuilder(); + sb.append("Person{"); + sb.append("name=").append(name); + sb.append(", forname=").append(forname); + sb.append('}'); + return sb.toString(); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final Person other = (Person) obj; + if (!Objects.equals(this.name, other.name)) { + return false; + } + return Objects.equals(this.forname, other.forname); + } + //ici je test des choses + + + +} diff --git a/src/main/java/enums/Meal.java b/src/main/java/enums/Meal.java deleted file mode 100644 index 5ccc1c0..0000000 --- a/src/main/java/enums/Meal.java +++ /dev/null @@ -1,14 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package enums; - -/** - * - * @author ramzi - */ -public class Meal { - -} diff --git a/src/main/java/model/DTO/Attendance.java b/src/main/java/model/DTO/Attendance.java deleted file mode 100644 index 0b23052..0000000 --- a/src/main/java/model/DTO/Attendance.java +++ /dev/null @@ -1,14 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package model.DTO; - -/** - * - * @author ramzi - */ -public class Attendance { - -} diff --git a/src/main/java/model/DTO/Person.java b/src/main/java/model/DTO/Person.java deleted file mode 100644 index e0328f5..0000000 --- a/src/main/java/model/DTO/Person.java +++ /dev/null @@ -1,14 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package model.DTO; - -/** - * - * @author ramzi - */ -public class Person { - -} diff --git a/src/main/java/models/Inn.java b/src/main/java/models/Inn.java index 3ccf493..4eddc25 100644 --- a/src/main/java/models/Inn.java +++ b/src/main/java/models/Inn.java @@ -1,14 +1,40 @@ /* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package models; +import DTO.Attendance; +import java.time.LocalDate; +import java.util.Date; +import java.util.HashSet; +import java.util.TreeSet; + /** * - * @author ramzi + * @author stag + * */ -public class Inn { +public class Inn extends TreeSet { + LocalDate date; // la date de l'evenement + TreeSet attendances;// la "liste" des particiations + + public Inn() { + super(); + } + public Inn(LocalDate date) { + this(); + this.date = date; + } + + + public LocalDate getDate() { + return date; + } + + public void setDate(LocalDate date) { + this.date = date; + } + } diff --git a/src/main/java/models/Meal.java b/src/main/java/models/Meal.java new file mode 100644 index 0000000..b6d5d24 --- /dev/null +++ b/src/main/java/models/Meal.java @@ -0,0 +1,25 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Enum.java to edit this template + */ +package models; + +/** + * + * @author stag + */ +public enum Meal { + STARTERS("Entrees"), + MAIN_COURSES("Plats de resistance"), + DESSERTS("Desserts"),DRINKS("Boissons"); + private final String frenchName; + + private Meal(String frenchName) { + this.frenchName = frenchName; + } + + public String getFrenchName() { + return frenchName; + } + +} -- GitLab From 7bc79da4c2d05b5e1e83a5d4e87d37bb04116f19 Mon Sep 17 00:00:00 2001 From: ramzi on windows Date: Mon, 3 Apr 2023 16:11:21 +0200 Subject: [PATCH 2/3] update code --- .../java/com/mycompany/miamle/MainClass.java | 17 +++++++++++++++- src/main/java/{models => enums}/Meal.java | 2 +- .../java/{ => models}/DTO/Attendance.java | 20 ++++++++++++++----- src/main/java/{ => models}/DTO/Person.java | 6 +----- src/main/java/models/Inn.java | 2 +- 5 files changed, 34 insertions(+), 13 deletions(-) rename src/main/java/{models => enums}/Meal.java (97%) rename src/main/java/{ => models}/DTO/Attendance.java (80%) rename src/main/java/{ => models}/DTO/Person.java (96%) diff --git a/src/main/java/com/mycompany/miamle/MainClass.java b/src/main/java/com/mycompany/miamle/MainClass.java index 37691cc..d5bf2a3 100644 --- a/src/main/java/com/mycompany/miamle/MainClass.java +++ b/src/main/java/com/mycompany/miamle/MainClass.java @@ -5,10 +5,25 @@ */ package com.mycompany.miamle; +import models.DTO.Attendance; + /** * * @author ramzi */ public class MainClass { - + public static void main(String[] args) { + + Attendance alt = new Attendance("Danlta", "Alphone", "0123456789","pas de cornichon"); + + + + + + + + + + + } } diff --git a/src/main/java/models/Meal.java b/src/main/java/enums/Meal.java similarity index 97% rename from src/main/java/models/Meal.java rename to src/main/java/enums/Meal.java index b6d5d24..80c0652 100644 --- a/src/main/java/models/Meal.java +++ b/src/main/java/enums/Meal.java @@ -2,7 +2,7 @@ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Enum.java to edit this template */ -package models; +package enums; /** * diff --git a/src/main/java/DTO/Attendance.java b/src/main/java/models/DTO/Attendance.java similarity index 80% rename from src/main/java/DTO/Attendance.java rename to src/main/java/models/DTO/Attendance.java index 164fcd9..b315e49 100644 --- a/src/main/java/DTO/Attendance.java +++ b/src/main/java/models/DTO/Attendance.java @@ -1,7 +1,7 @@ -package DTO; +package models.DTO; import java.util.HashMap; -import models.Meal; +import enums.Meal; public class Attendance extends Person implements Comparable{ @@ -14,9 +14,14 @@ import models.Meal; private HashMap meals; // les plats amenes le type et la quantite public Attendance() { + this.guests = guests; + } - public Attendance(String name, String forname,String contact, String comment) { + public Attendance(String name, + String forname, + String contact, + String comment) { super(name, forname); this.contact = contact; this.comment = comment; @@ -24,7 +29,12 @@ import models.Meal; } - public Attendance(Person person, String name, String forname,String contact, String comment, int guests) { + public Attendance(Person person, + String name, + String forname, + String contact, + String comment, + int guests) { super(name, forname); this.contact = contact; this.comment = comment; @@ -59,7 +69,7 @@ import models.Meal; } public void clearMeal(Meal meal){ - + this.meals.remove(meal); } diff --git a/src/main/java/DTO/Person.java b/src/main/java/models/DTO/Person.java similarity index 96% rename from src/main/java/DTO/Person.java rename to src/main/java/models/DTO/Person.java index e6f49a7..32b4de7 100644 --- a/src/main/java/DTO/Person.java +++ b/src/main/java/models/DTO/Person.java @@ -1,5 +1,5 @@ -package DTO; +package models.DTO; import java.util.Objects; import java.util.Scanner; @@ -72,8 +72,4 @@ public class Person { } return Objects.equals(this.forname, other.forname); } - //ici je test des choses - - - } diff --git a/src/main/java/models/Inn.java b/src/main/java/models/Inn.java index 4eddc25..4eea544 100644 --- a/src/main/java/models/Inn.java +++ b/src/main/java/models/Inn.java @@ -4,7 +4,7 @@ */ package models; -import DTO.Attendance; +import models.DTO.Attendance; import java.time.LocalDate; import java.util.Date; import java.util.HashSet; -- GitLab From 53bd7d93c26a315c13c6fbfdf9104725ae123c72 Mon Sep 17 00:00:00 2001 From: ramzi on windows Date: Mon, 3 Apr 2023 19:32:06 +0200 Subject: [PATCH 3/3] encore l'erreur Exit value: 1 --- .gitignore | 1 + .../java/com/mycompany/miamle/MainClass.java | 41 +++++++++++++------ src/main/java/models/DTO/Attendance.java | 3 +- 3 files changed, 31 insertions(+), 14 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/src/main/java/com/mycompany/miamle/MainClass.java b/src/main/java/com/mycompany/miamle/MainClass.java index d5bf2a3..5a08065 100644 --- a/src/main/java/com/mycompany/miamle/MainClass.java +++ b/src/main/java/com/mycompany/miamle/MainClass.java @@ -5,25 +5,40 @@ */ package com.mycompany.miamle; +import enums.Meal; +import java.time.LocalDate; +import java.time.Month; import models.DTO.Attendance; +import models.Inn; /** * - * @author ramzi + * @author Herbert Caffarel */ public class MainClass { - public static void main(String[] args) { - - Attendance alt = new Attendance("Danlta", "Alphone", "0123456789","pas de cornichon"); - + public static void main(String[] args) { + Inn inn = new Inn(LocalDate.of(2023, Month.APRIL, 12)); + // Créer des participations + Attendance alf = new Attendance("Danlta", "Alphonse", "0123456789", ""); + Attendance sophie = new Attendance("Stule", "Sophie", "9876543210", "Avec la famille"); + Attendance guy = new Attendance("Tare", "Guy", "@guitounet", ""); + // Configurer le premier participant et l'ajouter à l'événement + alf.addMeal(Meal.STARTERS, 5); + alf.addMeal(Meal.MAIN_COURSES, 3); + alf.addMeal(Meal.DRINKS, 5); + alf.addMeal(Meal.DESSERTS, 2); + inn.add(alf); + // Configurer le second participant et l'ajouter à l'événement + sophie.addMeal(Meal.DRINKS, 2); + sophie.addMeal(Meal.DESSERTS, 6); + sophie.addMeal(Meal.MAIN_COURSES, 6); + sophie.addMeal(Meal.STARTERS, 3); + inn.add(sophie); + // Configurer le troisième participant et l'ajouter à l'événement + guy.addMeal(Meal.DRINKS, 6); + inn.add(guy); - - - - - - - + System.out.println(inn); } -} +} \ No newline at end of file diff --git a/src/main/java/models/DTO/Attendance.java b/src/main/java/models/DTO/Attendance.java index b315e49..04cb49d 100644 --- a/src/main/java/models/DTO/Attendance.java +++ b/src/main/java/models/DTO/Attendance.java @@ -28,7 +28,6 @@ import enums.Meal; this.guests = guests; } - public Attendance(Person person, String name, String forname, @@ -41,6 +40,8 @@ import enums.Meal; this.guests = guests; } + + -- GitLab