Skip to content
Commits on Source (35)
...@@ -2,6 +2,9 @@ package fr.ldnr.starWars; ...@@ -2,6 +2,9 @@ package fr.ldnr.starWars;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@SpringBootApplication @SpringBootApplication
public class StarWarsApplication { public class StarWarsApplication {
...@@ -10,4 +13,14 @@ public class StarWarsApplication { ...@@ -10,4 +13,14 @@ public class StarWarsApplication {
SpringApplication.run(StarWarsApplication.class, args); SpringApplication.run(StarWarsApplication.class, args);
} }
@Configuration
public static class WebConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
// Définir la page menu.html comme page d'accueil
registry.addViewController("/").setViewName("menu");
}
}
} }
...@@ -13,6 +13,7 @@ import fr.ldnr.starWars.enumerations.EtatPilote; ...@@ -13,6 +13,7 @@ import fr.ldnr.starWars.enumerations.EtatPilote;
import fr.ldnr.starWars.enumerations.GradePilote; import fr.ldnr.starWars.enumerations.GradePilote;
import fr.ldnr.starWars.enumerations.RacePilote; import fr.ldnr.starWars.enumerations.RacePilote;
import fr.ldnr.starWars.enumerations.ResultatMission; import fr.ldnr.starWars.enumerations.ResultatMission;
import fr.ldnr.starWars.enumerations.StatutMission;
import fr.ldnr.starWars.enumerations.TypeChasseur; import fr.ldnr.starWars.enumerations.TypeChasseur;
import fr.ldnr.starWars.enumerations.TypeMission; import fr.ldnr.starWars.enumerations.TypeMission;
import fr.ldnr.starWars.enumerations.TypePilote; import fr.ldnr.starWars.enumerations.TypePilote;
...@@ -20,6 +21,7 @@ import fr.ldnr.starWars.repositories.AffectationRepository; ...@@ -20,6 +21,7 @@ import fr.ldnr.starWars.repositories.AffectationRepository;
import fr.ldnr.starWars.repositories.ChasseurRepository; import fr.ldnr.starWars.repositories.ChasseurRepository;
import fr.ldnr.starWars.repositories.MissionRepository; import fr.ldnr.starWars.repositories.MissionRepository;
import fr.ldnr.starWars.repositories.PiloteRepository; import fr.ldnr.starWars.repositories.PiloteRepository;
import java.util.List;
import org.springframework.boot.CommandLineRunner; import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -48,45 +50,65 @@ public class BootstrapData implements CommandLineRunner { ...@@ -48,45 +50,65 @@ public class BootstrapData implements CommandLineRunner {
Pilote pilote1 = new Pilote(); Pilote pilote1 = new Pilote();
pilote1.setNom("MAMA"); pilote1.setNom("MAMA");
pilote1.setPrenom("Apprenti1"); pilote1.setPrenom("Apprenti1");
pilote1.setAge_inscription(100); pilote1.setAge(100);
pilote1.setRace(RacePilote.CHALACTEENS); pilote1.setRace(RacePilote.CHALACTEENS);
pilote1.setType_pilote(TypePilote.APPRENTI); pilote1.setType(TypePilote.APPRENTI);
pilote1.setGrade(GradePilote.OFFICIER);
pilote1.setEtat(EtatPilote.DISPONIBLE);
Pilote pilote2 = new Pilote(); Pilote pilote2 = new Pilote();
pilote2.setNom("WOW"); pilote2.setNom("WOW");
pilote2.setPrenom("Combattant1"); pilote2.setPrenom("Combattant1");
pilote2.setAge_inscription(17); pilote2.setAge(17);
pilote2.setRace(RacePilote.CHISS); pilote2.setRace(RacePilote.CHISS);
pilote2.setType_pilote(TypePilote.COMBATTANT); pilote2.setType(TypePilote.APPRENTI);
pilote2.setGrade(GradePilote.CAPITAINE); pilote2.setGrade(GradePilote.OFFICIER);
pilote2.setEtat_pilote(EtatPilote.DISPONIBLE); pilote2.setEtat(EtatPilote.DISPONIBLE);
Pilote pilote3 = new Pilote(); Pilote pilote3 = new Pilote();
pilote3.setNom("WIW"); pilote3.setNom("WIW");
pilote3.setPrenom("Combattant2"); pilote3.setPrenom("Combattant2");
pilote3.setAge_inscription(29); pilote3.setAge(29);
pilote3.setRace(RacePilote.ITHORIENS); pilote3.setRace(RacePilote.ITHORIENS);
pilote3.setType_pilote(TypePilote.COMBATTANT); pilote3.setType(TypePilote.COMBATTANT);
pilote3.setGrade(GradePilote.COMMANDANT); pilote3.setGrade(GradePilote.CAPITAINE);
pilote3.setEtat_pilote(EtatPilote.EN_MISSION); pilote3.setEtat(EtatPilote.BLESSE);
Pilote pilote4 = new Pilote(); Pilote pilote4 = new Pilote();
pilote4.setNom("WEW"); pilote4.setNom("WEW");
pilote4.setPrenom("Combattant3"); pilote4.setPrenom("Combattant3");
pilote4.setAge_inscription(29); pilote4.setAge(29);
pilote4.setRace(RacePilote.MIRALUKAS); pilote4.setRace(RacePilote.MIRALUKAS);
pilote4.setType_pilote(TypePilote.COMBATTANT); pilote4.setType(TypePilote.APPRENTI);
pilote4.setGrade(GradePilote.LIEUTENANT); pilote4.setGrade(GradePilote.OFFICIER);
pilote4.setEtat_pilote(EtatPilote.TUE); pilote4.setEtat(EtatPilote.MORT_AU_COMBAT);
Pilote pilote5 = new Pilote(); Pilote pilote5 = new Pilote();
pilote5.setNom("WUW"); pilote5.setNom("WUW");
pilote5.setPrenom("Combattant4"); pilote5.setPrenom("Combattant4");
pilote5.setAge_inscription(77); pilote5.setAge(77);
pilote5.setRace(RacePilote.NAGAIS); pilote5.setRace(RacePilote.NAGAIS);
pilote5.setType_pilote(TypePilote.COMBATTANT); pilote5.setType(TypePilote.COMBATTANT);
pilote5.setGrade(GradePilote.OFFICIER); pilote5.setGrade(GradePilote.OFFICIER);
pilote5.setEtat_pilote(EtatPilote.BLESSE); pilote5.setEtat(EtatPilote.DISPONIBLE);
Pilote pilote6 = new Pilote();
pilote6.setNom("DUREL");
pilote6.setPrenom("Johad");
pilote6.setAge(22);
pilote6.setRace(RacePilote.HUMAINS);
pilote6.setType(TypePilote.COMBATTANT);
pilote6.setGrade(GradePilote.OFFICIER);
pilote6.setEtat(EtatPilote.BLESSE);
Pilote pilote7 = new Pilote();
pilote7.setNom("DUREL");
pilote7.setPrenom("Johad2");
pilote7.setAge(22);
pilote7.setRace(RacePilote.HUMAINS);
pilote7.setType(TypePilote.APPRENTI);
pilote7.setGrade(GradePilote.OFFICIER);
pilote7.setEtat(EtatPilote.DISPONIBLE);
piloteRepository.save(pilote1); piloteRepository.save(pilote1);
piloteRepository.save(pilote2); piloteRepository.save(pilote2);
...@@ -95,41 +117,51 @@ public class BootstrapData implements CommandLineRunner { ...@@ -95,41 +117,51 @@ public class BootstrapData implements CommandLineRunner {
piloteRepository.save(pilote5); piloteRepository.save(pilote5);
Chasseur chasseur1 = new Chasseur(); Chasseur chasseur1 = new Chasseur();
chasseur1.setType_chasseur(TypeChasseur.X_WING); chasseur1.setType(TypeChasseur.X_WING);
chasseur1.setEtat_chasseur(EtatChasseur.OPERATIONNEL); chasseur1.setEtat(EtatChasseur.OPERATIONNEL);
Chasseur chasseur2 = new Chasseur(); Chasseur chasseur2 = new Chasseur();
chasseur2.setType_chasseur(TypeChasseur.Y_WING); chasseur2.setType(TypeChasseur.Y_WING);
chasseur2.setEtat_chasseur(EtatChasseur.EN_MISSION); chasseur2.setEtat(EtatChasseur.EN_MISSION);
Chasseur chasseur3 = new Chasseur(); Chasseur chasseur3 = new Chasseur();
chasseur3.setType_chasseur(TypeChasseur.X_WING); chasseur3.setType(TypeChasseur.X_WING);
chasseur3.setEtat_chasseur(EtatChasseur.MAINTENANCE); chasseur3.setEtat(EtatChasseur.MAINTENANCE);
Chasseur chasseur4 = new Chasseur(); Chasseur chasseur4 = new Chasseur();
chasseur4.setType_chasseur(TypeChasseur.X_WING); chasseur4.setType(TypeChasseur.X_WING);
chasseur4.setEtat_chasseur(EtatChasseur.DETRUIT); chasseur4.setEtat(EtatChasseur.DETRUIT);
Chasseur chasseur5 = new Chasseur();
chasseur5.setType(TypeChasseur.Y_WING);
chasseur5.setEtat(EtatChasseur.OPERATIONNEL);
chasseurRepository.save(chasseur1); chasseurRepository.save(chasseur1);
chasseurRepository.save(chasseur2); chasseurRepository.save(chasseur2);
chasseurRepository.save(chasseur3); chasseurRepository.save(chasseur3);
chasseurRepository.save(chasseur4); chasseurRepository.save(chasseur4);
chasseurRepository.save(chasseur5);
Mission mission1 = new Mission(); Mission mission1 = new Mission();
mission1.setTitre_mission("Mission 1"); mission1.setTitre("Mission 1");
mission1.setType_mission(TypeMission.COMBAT); mission1.setType(TypeMission.COMBAT);
mission1.setNbHeure(70); mission1.setNbHeure(200);
mission1.setResultat(ResultatMission.DEFAITE); mission1.setResultat(ResultatMission.DEFAITE);
mission1.setStatut(StatutMission.TERMINE);
Mission mission2 = new Mission(); Mission mission2 = new Mission();
mission2.setTitre_mission("Mission 2"); mission2.setTitre("Mission 2");
mission2.setType_mission(TypeMission.ENTRAINEMENT); mission2.setType(TypeMission.ENTRAINEMENT);
mission2.setNbHeure(66); mission2.setNbHeure(50);
mission2.setResultat(ResultatMission.VICTOIRE); mission2.setResultat(ResultatMission.DEFAITE);
mission2.setStatut(StatutMission.TERMINE);
Mission mission3 = new Mission(); Mission mission3 = new Mission();
mission3.setTitre_mission("Mission 3"); mission3.setTitre("Mission 3");
mission3.setType_mission(TypeMission.COMBAT); mission3.setType(TypeMission.COMBAT);
mission3.setStatut(StatutMission.TERMINE);
mission3.setNbHeure(600);
mission3.setResultat(ResultatMission.VICTOIRE);
missionRepository.save(mission1); missionRepository.save(mission1);
missionRepository.save(mission2); missionRepository.save(mission2);
...@@ -142,8 +174,43 @@ public class BootstrapData implements CommandLineRunner { ...@@ -142,8 +174,43 @@ public class BootstrapData implements CommandLineRunner {
Affectation affectation2 = new Affectation(); Affectation affectation2 = new Affectation();
affectation2.setMission(mission2); affectation2.setMission(mission2);
affectation2.setPilote(pilote5); affectation2.setPilote(pilote1);
affectation2.setChasseur(chasseur4); affectation2.setChasseur(chasseur4);
Affectation affectation4 = new Affectation();
affectation4.setMission(mission2);
affectation4.setPilote(pilote4);
affectation4.setChasseur(chasseur1);
Affectation affectation3 = new Affectation();
affectation3.setMission(mission1);
affectation3.setPilote(pilote5);
affectation3.setChasseur(chasseur2);
affectationRepository.save(affectation1);
affectationRepository.save(affectation2);
affectationRepository.save(affectation3);
affectationRepository.save(affectation4);
mission2.getAffectation().add(affectation2);
pilote5.getAffectation().add(affectation2);
chasseur4.getAffectation().add(affectation2);
mission3.getAffectation().add(affectation1);
pilote3.getAffectation().add(affectation1);
chasseur2.getAffectation().add(affectation1);
mission1.getAffectation().add(affectation3);
pilote5.getAffectation().add(affectation3);
chasseur2.getAffectation().add(affectation3);
mission2.getAffectation().add(affectation4);
pilote4.getAffectation().add(affectation4);
chasseur1.getAffectation().add(affectation4);
List list = piloteRepository.findByEtat(EtatPilote.DISPONIBLE);
for (var pilote : list) {
System.out.println("CHECK : " + pilote);
}
} }
} }
/*
* 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 fr.ldnr.starWars.calculs;
import fr.ldnr.starWars.domains.Affectation;
import fr.ldnr.starWars.domains.Mission;
import fr.ldnr.starWars.domains.Pilote;
import fr.ldnr.starWars.enumerations.GradePilote;
import fr.ldnr.starWars.enumerations.StatutMission;
import fr.ldnr.starWars.enumerations.TypePilote;
import fr.ldnr.starWars.services.MissionService;
import java.util.HashSet;
import java.util.Set;
/**
*
* @author stag
*/
public class Calculs {
private final MissionService missionService;
public Calculs(MissionService missionService) {
this.missionService = missionService;
}
public int calculNbHeure(Pilote pilote) {
// boucle Set<Affectation> affectation then recuperate Mission then trier Mission par Statut TERMINE
Set<Mission> missions = new HashSet<>(); // Create a set to store missions
int totalNbHeure = 0;
for (Affectation affectation : pilote.getAffectation()) {
Mission mission = affectation.getMission();
if (mission != null && mission.getStatut().equals(StatutMission.TERMINE)) {
missions.add(mission);
// recuperate nbHeure
totalNbHeure += mission.getNbHeure();
}
}
// return total nbHeure
return totalNbHeure;
}
public int calculNbMission() {
int totalNbMission = 0;
return totalNbMission;
}
public GradePilote updateGradePilote() {
return GradePilote.CAPITAINE;
}
public TypePilote updateTypePilote() {
return TypePilote.APPRENTI;
}
}
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
package fr.ldnr.starWars.controllers; package fr.ldnr.starWars.controllers;
import fr.ldnr.starWars.services.ChasseurService; import fr.ldnr.starWars.services.ChasseurService;
import fr.ldnr.starWars.services.MissionService;
import fr.ldnr.starWars.services.PiloteService; import fr.ldnr.starWars.services.PiloteService;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
...@@ -16,20 +15,23 @@ import org.springframework.web.bind.annotation.GetMapping; ...@@ -16,20 +15,23 @@ import org.springframework.web.bind.annotation.GetMapping;
* @author stag * @author stag
*/ */
@Controller @Controller
public class FinMissionController { public class AffectationPiloteChasseurController {
private final MissionService missionService; private final PiloteService piloteService;
private final ChasseurService chasseurService;
public AffectationPiloteChasseurController(
public FinMissionController(MissionService missionService) { PiloteService piloteService,
this.missionService = missionService; ChasseurService chasseurService) {
this.piloteService = piloteService;
this.chasseurService = chasseurService;
} }
@GetMapping("/clotureMission") @GetMapping("/affectation")
public String clotureMission(Model model) { public String AffecterPiloteChasseur(Model model) {
model.addAttribute("resultatMission", missionService.resultatMission()); model.addAttribute("listePilotes", piloteService.findAll());
model.addAttribute("listeChasseurs", chasseurService.findAll());
return "clotureMission"; return "affectation";
} }
} }
/*
* 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 fr.ldnr.starWars.controllers;
import fr.ldnr.starWars.calculs.Calculs;
import fr.ldnr.starWars.domains.Mission;
import fr.ldnr.starWars.domains.Pilote;
import fr.ldnr.starWars.enumerations.ResultatMission;
import fr.ldnr.starWars.enumerations.StatutMission;
import fr.ldnr.starWars.services.MissionService;
import fr.ldnr.starWars.services.PiloteService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
*
* @author stag
*/
@Controller
public class ClotureMission {
private final MissionService missionService;
private final PiloteService piloteService;
public ClotureMission(MissionService missionService, PiloteService piloteService) {
this.missionService = missionService;
this.piloteService = piloteService;
}
@GetMapping("/clotureMission")
public String clotureMission(Model model) {
model.addAttribute("resultatMission", missionService.resultatMission());
model.addAttribute("missions", missionService.findByStatut(StatutMission.ENCOUR));
return "clotureMission";
}
@PostMapping("/clotureMission")
public String nouvelleMissionSubmit(Model model,
@RequestParam(value = "heures") String heures,
@RequestParam(value = "resultats") String resultats,
@RequestParam(value = "missions") String missions) {
model.addAttribute("missions", missionService.findByStatut(StatutMission.ENCOUR));
// recuperate Mission from db by Id
Integer idMission = (Integer.valueOf(missions));
Mission missionRecupere = missionService.findById(idMission);
System.out.println("CHECK PILOTE RECUPEREE : " + missionRecupere);
// remplir nbHeures et resultat au bean de Mission
missionRecupere.setNbHeure(Integer.valueOf(heures));
missionRecupere.setResultat(ResultatMission.valueOf(resultats));
missionRecupere.setStatut(StatutMission.TERMINE);
// persister missionRecupere dans la db
missionService.save(missionRecupere);
Calculs calculs = new Calculs(missionService);
Pilote pilote = piloteService.findById(5);
int nbHeure = calculs.calculNbHeure(pilote);
System.out.println("CHECK nbHeure : " + nbHeure);
return "clotureMission";
}
public void updateGradePilote() {
// test calculNbHeure
// test calculNbHeure
}
}
...@@ -5,7 +5,10 @@ ...@@ -5,7 +5,10 @@
package fr.ldnr.starWars.controllers; package fr.ldnr.starWars.controllers;
import fr.ldnr.starWars.domains.Pilote; import fr.ldnr.starWars.domains.Pilote;
import fr.ldnr.starWars.enumerations.EtatPilote;
import fr.ldnr.starWars.enumerations.GradePilote;
import fr.ldnr.starWars.enumerations.RacePilote; import fr.ldnr.starWars.enumerations.RacePilote;
import fr.ldnr.starWars.enumerations.TypePilote;
import fr.ldnr.starWars.services.PiloteService; import fr.ldnr.starWars.services.PiloteService;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
...@@ -48,7 +51,11 @@ public class InscriptionPiloteController { ...@@ -48,7 +51,11 @@ public class InscriptionPiloteController {
pilote.setNom(nom); pilote.setNom(nom);
pilote.setPrenom(prenom); pilote.setPrenom(prenom);
pilote.setRace(race2); pilote.setRace(race2);
pilote.setAge_inscription(age2); pilote.setAge(age2);
pilote.setEtat(EtatPilote.DISPONIBLE);
pilote.setType(TypePilote.APPRENTI);
pilote.setGrade(GradePilote.OFFICIER);
System.out.println("Check pilote : " + pilote); System.out.println("Check pilote : " + pilote);
piloteService.save(pilote); piloteService.save(pilote);
return "menu"; return "menu";
...@@ -57,16 +64,3 @@ public class InscriptionPiloteController { ...@@ -57,16 +64,3 @@ public class InscriptionPiloteController {
} }
} }
} }
// String prenom = request.getParameter("prenom");
// String nom = request.getParameter("nom");
// RacePilote race = RacePilote.class.cast(request.getParameter("races"));
// Integer age = Integer.parseInt(request.getParameter("age"));
//
// Pilote pilote = new Pilote();
// pilote.setNom(nom);
// pilote.setPrenom(prenom);
// pilote.setRace(race);
// pilote.setAge_inscription(age);
// System.out.println("Check pilote : " + pilote);
// return piloteService.save(pilote);
...@@ -4,11 +4,30 @@ ...@@ -4,11 +4,30 @@
*/ */
package fr.ldnr.starWars.controllers; package fr.ldnr.starWars.controllers;
import fr.ldnr.starWars.services.MissionService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
/** /**
* *
* @author stag * @author vincent
*/ */
@Controller
public class ListeMissionController { public class ListeMissionController {
private final MissionService missionService;
public ListeMissionController(MissionService missionService) {
this.missionService = missionService;
}
@GetMapping("/listeMission")
public String listeMission(Model model) {
model.addAttribute("missions", missionService.findAll());
return "listeMission";
}
......
...@@ -4,10 +4,13 @@ ...@@ -4,10 +4,13 @@
*/ */
package fr.ldnr.starWars.controllers; package fr.ldnr.starWars.controllers;
import fr.ldnr.starWars.enumerations.TypePilote;
import fr.ldnr.starWars.services.PiloteService; import fr.ldnr.starWars.services.PiloteService;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/** /**
* *
...@@ -15,6 +18,7 @@ import org.springframework.web.bind.annotation.GetMapping; ...@@ -15,6 +18,7 @@ import org.springframework.web.bind.annotation.GetMapping;
*/ */
@Controller @Controller
public class ListePiloteController { public class ListePiloteController {
private final PiloteService piloteService; private final PiloteService piloteService;
public ListePiloteController(PiloteService piloteService) { public ListePiloteController(PiloteService piloteService) {
...@@ -24,6 +28,23 @@ public class ListePiloteController { ...@@ -24,6 +28,23 @@ public class ListePiloteController {
@GetMapping("/listePilote") @GetMapping("/listePilote")
public String listePilote(Model model) { public String listePilote(Model model) {
model.addAttribute("pilotes", piloteService.findAll()); model.addAttribute("pilotes", piloteService.findAll());
model.addAttribute("typePilotes", piloteService.listType());
model.addAttribute("gradePilotes", piloteService.listGrade());
model.addAttribute("etatPilotes", piloteService.listEtat());
model.addAttribute("racePilotes", piloteService.listRace());
model.addAttribute("gradePilotes", piloteService.listGrade());
return "listePilote"; return "listePilote";
} }
// @PostMapping("/listePilote")
// public String listePilote(Model model,
// @RequestParam(value = "typePilotes") String types,
// @RequestParam(value = "gradePilotes") String grades,
// @RequestParam(value = "etatPilotes") String etats,
// @RequestParam(value = "racePilotes") String races) {
// model.addAttribute("pilotes", piloteService.listType());
// model.addAttribute("typePilotes", piloteService.findByType(TypePilote.valueOf(types)));
// return "listePilote";
// }
} }
/*
* 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 fr.ldnr.starWars.controllers;
import fr.ldnr.starWars.enumerations.EtatPilote;
import fr.ldnr.starWars.enumerations.TypePilote;
import fr.ldnr.starWars.services.PiloteService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
/**
*
* @author stag
*/
@Controller
public class ListePiloteDisponible {
private final PiloteService piloteService;
public ListePiloteDisponible(PiloteService piloteService) {
this.piloteService = piloteService;
}
@GetMapping("/listePiloteDisponible")
public String listePilote(Model model) {
//model.addAttribute("etats", piloteService.listEtat());
model.addAttribute("pilotes", piloteService.findByEtatAndType(EtatPilote.DISPONIBLE, TypePilote.COMBATTANT));
return "listePiloteDisponible";
}
}
/*
* 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 fr.ldnr.starWars.controllers;
import fr.ldnr.starWars.enumerations.EtatPilote;
import fr.ldnr.starWars.enumerations.GradePilote;
import fr.ldnr.starWars.enumerations.TypePilote;
import fr.ldnr.starWars.services.PiloteService;
import java.util.ArrayList;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
*
* @author stag
*/
@Controller
public class ListePiloteParEtat {
private final PiloteService piloteService;
public ListePiloteParEtat(PiloteService piloteService) {
this.piloteService = piloteService;
}
@GetMapping("/listePiloteParEtat")
public String listePilote(Model model) {
model.addAttribute("etats", piloteService.listEtat());
return "listePiloteParEtat";
}
@PostMapping("/listePiloteParEtat")
public String listePilote(Model model, @RequestParam(value = "etats") String etats) {
model.addAttribute("etats", piloteService.listEtat());
// if (types.equals("all")) {
// model.addAttribute("pilotes", piloteService.findAll());
// }
model.addAttribute("pilotes", piloteService.findByEtat(EtatPilote.valueOf(etats)));
return "listePiloteParEtat";
}
}
/*
* 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 fr.ldnr.starWars.controllers;
import fr.ldnr.starWars.enumerations.GradePilote;
import fr.ldnr.starWars.services.PiloteService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
*
* @author stag
*/
@Controller
public class ListePiloteParGrade {
private final PiloteService piloteService;
public ListePiloteParGrade(PiloteService piloteService) {
this.piloteService = piloteService;
}
@GetMapping("/listePiloteParGrade")
public String listePilote(Model model) {
model.addAttribute("grades", piloteService.listGrade());
return "listePiloteParGrade";
}
@PostMapping("/listePiloteParGrade")
public String listePilote(Model model, @RequestParam(value = "grades") String grades) {
model.addAttribute("grades", piloteService.listGrade());
// if (types.equals("all")) {
// model.addAttribute("pilotes", piloteService.findAll());
// }
model.addAttribute("pilotes", piloteService.findByGrade(GradePilote.valueOf(grades)));
return "listePiloteParGrade";
}
}
/*
* 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 fr.ldnr.starWars.controllers;
import fr.ldnr.starWars.enumerations.TypePilote;
import fr.ldnr.starWars.services.PiloteService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
*
* @author stag
*/
@Controller
public class ListePiloteParType {
private final PiloteService piloteService;
public ListePiloteParType(PiloteService piloteService) {
this.piloteService = piloteService;
}
@GetMapping("/listePiloteParType")
public String listePilote(Model model) {
model.addAttribute("types", piloteService.listType());
return "listePiloteParType";
}
@PostMapping("/listePiloteParType")
public String listePilote(Model model, @RequestParam(value = "types") String types) {
model.addAttribute("types", piloteService.listType());
// if (types.equals("all")) {
// model.addAttribute("pilotes", piloteService.findAll());
// }
model.addAttribute("pilotes", piloteService.findByType(TypePilote.valueOf(types)));
return "listePiloteParType";
}
}
/*
* 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 fr.ldnr.starWars.controllers;
import fr.ldnr.starWars.enumerations.EtatChasseur;
import fr.ldnr.starWars.services.ChasseurService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
*
* @author Johad
*/
@Controller
public class ModifierEtatChasseurController {
private final ChasseurService chasseurService;
public ModifierEtatChasseurController(ChasseurService chasseurService) {
this.chasseurService = chasseurService;
}
@GetMapping("/modifierEtatChasseur")
public String modifierEtatPilote(Model model) {
model.addAttribute("etatChasseur", chasseurService.listeTypeChasseur());
return "modifierEtatChasseur";
}
@PostMapping("/modifierEtatChasseur")
public String modifierEtatChasseur(@RequestParam Long id_chasseur, Model model,
@RequestParam(value="etat") String etat) {
model.addAttribute("etatChasseur", chasseurService.modifierEtat(id_chasseur, EtatChasseur.valueOf(etat)));
return "modifierEtatChasseur";
}
}
...@@ -5,11 +5,13 @@ ...@@ -5,11 +5,13 @@
package fr.ldnr.starWars.controllers; package fr.ldnr.starWars.controllers;
import fr.ldnr.starWars.domains.Chasseur; import fr.ldnr.starWars.domains.Chasseur;
import fr.ldnr.starWars.enumerations.EtatChasseur;
import fr.ldnr.starWars.enumerations.TypeChasseur; import fr.ldnr.starWars.enumerations.TypeChasseur;
import fr.ldnr.starWars.services.ChasseurService; import fr.ldnr.starWars.services.ChasseurService;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
/** /**
...@@ -26,13 +28,24 @@ public class NouveauChasseurController { ...@@ -26,13 +28,24 @@ public class NouveauChasseurController {
} }
@GetMapping("/nouveauChasseur") @GetMapping("/nouveauChasseur")
public String sauvegarderChasseur(Model model, TypeChasseur typeChasseur) { public String sauvegarderChasseur(Model model) {
model.addAttribute("type", chasseurService.listeTypeChasseur()); model.addAttribute("type", chasseurService.listeTypeChasseur());
Chasseur nouveauChasseur = new Chasseur(); return "nouveauChasseur";
nouveauChasseur.setType_chasseur(typeChasseur); }
System.out.println(typeChasseur);
chasseurService.save(nouveauChasseur); @PostMapping("/nouveauChasseur")
public String sauvegardeChasseur(Model model,
@RequestParam(value = "typeChasseur") String typeChasseur) {
model.addAttribute("type", chasseurService.listeTypeChasseur());
if (!typeChasseur.isEmpty()) {
Chasseur chasseur = new Chasseur();
chasseur.setType(TypeChasseur.valueOf(typeChasseur));
chasseur.setEtat(EtatChasseur.OPERATIONNEL);
chasseurService.save(chasseur);
return "menu";
}
return "nouveauChasseur"; return "nouveauChasseur";
} }
......
...@@ -4,10 +4,26 @@ ...@@ -4,10 +4,26 @@
*/ */
package fr.ldnr.starWars.controllers; package fr.ldnr.starWars.controllers;
import fr.ldnr.starWars.domains.Affectation;
import fr.ldnr.starWars.domains.Chasseur;
import fr.ldnr.starWars.domains.Mission;
import fr.ldnr.starWars.domains.Pilote;
import fr.ldnr.starWars.enumerations.EtatChasseur;
import fr.ldnr.starWars.enumerations.EtatPilote;
import fr.ldnr.starWars.enumerations.StatutMission;
import fr.ldnr.starWars.enumerations.TypeMission;
import fr.ldnr.starWars.services.AffectationService;
import fr.ldnr.starWars.services.ChasseurService;
import fr.ldnr.starWars.services.MissionService; import fr.ldnr.starWars.services.MissionService;
import fr.ldnr.starWars.services.PiloteService;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/** /**
* *
...@@ -16,16 +32,128 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -16,16 +32,128 @@ import org.springframework.web.bind.annotation.RequestMapping;
@Controller @Controller
public class NouvelleMissionController { public class NouvelleMissionController {
@Autowired
private final MissionService missionService; private final MissionService missionService;
@Autowired
private final PiloteService piloteService;
@Autowired
private final ChasseurService chasseurService;
@Autowired
private final AffectationService affectationService;
// pour stocker les pilotes et les chasseurs temporairement
ArrayList<Pilote> listPiloteTemp = new ArrayList<>();
ArrayList<Chasseur> listChasseurTemp = new ArrayList<>();
Integer idMission;
public NouvelleMissionController(MissionService missionService) { public NouvelleMissionController(MissionService missionService, PiloteService piloteService, ChasseurService chasseurService, AffectationService affectationService) {
this.missionService = missionService; this.missionService = missionService;
this.piloteService = piloteService;
this.chasseurService = chasseurService;
this.affectationService = affectationService;
} }
@RequestMapping("/nouvelleMission") @RequestMapping("/nouvelleMission")
public String getMission(Model model) { public String getMission(Model model) {
model.addAttribute("typeMissions", missionService.listMission()); model.addAttribute("typeMissions", missionService.listMission());
model.addAttribute("mission", new Mission());
model.addAttribute("affectationFormVisible", false); // Initially hidden
// Update the table with Pilot and Plane info
List<Pilote> listPilotes = piloteService.findByEtat(EtatPilote.DISPONIBLE);
List<Chasseur> listChasseurs = chasseurService.findByEtat(EtatChasseur.OPERATIONNEL);
model.addAttribute("pilotesDispo", listPilotes);
model.addAttribute("chasseursDispo", listChasseurs);
model.addAttribute("pilotesDispo", listPilotes);
model.addAttribute("chasseursDispo", listChasseurs);
return "nouvelleMission";
}
@PostMapping("/nouvelleMission")
public String nouvelleMissionSubmit(Model model,
@RequestParam(value = "titre") String titre,
@RequestParam(value = "typeMissions") String typeMissions) {
// Save the mission to the database
Mission mission = new Mission();
mission.setTitre(titre);
mission.setType(TypeMission.valueOf(typeMissions));
mission.setStatut(StatutMission.ENCOUR);
System.out.println("CHECK : " + mission);
model.addAttribute("typeMissions", missionService.listMission());
List<Pilote> listPilotes = piloteService.findByEtat(EtatPilote.DISPONIBLE);
List<Chasseur> listChasseurs = chasseurService.findByEtat(EtatChasseur.OPERATIONNEL);
model.addAttribute("pilotesDispo", listPilotes);
model.addAttribute("chasseursDispo", listChasseurs);
missionService.save(mission);
idMission = mission.getIdMission();
//System.out.println("CHECK2 : " + idMission);
// ATTENTION, BUG WHEN WE REFRESH THE PAGE, IT'LL KEEP ADDING THE AFFECTATION (LIKE PUSHING BUTTON AFFECTATION)
return "nouvelleMission";
}
@PostMapping("/affectation")
// Handle Affectation form submission
//@PostMapping("/affectation/{idMission}")
// public String affectationSubmit(@PathVariable Long missionId, @ModelAttribute Affectation affectation, Model model) {
public String affectationSubmit(Model model,
@RequestParam(value = "piloteSelect") String piloteSelect,
@RequestParam(value = "chasseurSelect") String chasseurSelect) {
// Update the table with Pilot and Plane info
model.addAttribute("typeMissions", missionService.listMission());
List<Pilote> listPilotes = piloteService.findByEtat(EtatPilote.DISPONIBLE);
List<Chasseur> listChasseurs = chasseurService.findByEtat(EtatChasseur.OPERATIONNEL);
model.addAttribute("pilotesDispo", listPilotes);
model.addAttribute("chasseursDispo", listChasseurs);
System.out.println("CHECK " + piloteSelect);
// recuperate Pilote from db
Integer idPilote = (Integer.valueOf(piloteSelect));
Pilote piloteRecupere = piloteService.findById(idPilote);
System.out.println("CHECK PILOTE RECUPEREE : " + piloteRecupere);
// recuperate Chasseur from db
Integer idChasseur = (Integer.valueOf(chasseurSelect));
//System.out.println("CHECK chasseurSelect : " + chasseurSelect);
Chasseur chasseurRecupere = chasseurService.findById(idChasseur);
System.out.println("CHECK Chasseur RECUPEREE : " + chasseurRecupere);
// recuperate Chasseur from db
Mission missionRecupere = missionService.findById(idMission);
System.out.println("CHECK Mission RECUPEREE : " + missionRecupere);
//System.out.println("id Mission : " + idMission);
// create et remplir affectation
Affectation affectation = new Affectation();
affectation.setChasseur(chasseurRecupere);
affectation.setPilote(piloteRecupere);
affectation.setMission(missionRecupere);
affectationService.save(affectation);
System.out.println("affectation : " + affectation);
piloteRecupere.getAffectation().add(affectation);
chasseurRecupere.getAffectation().add(affectation);
missionRecupere.getAffectation().add(affectation);
piloteService.save(piloteRecupere);
chasseurService.save(chasseurRecupere);
missionService.save(missionRecupere);
listPiloteTemp.add(piloteRecupere);
listChasseurTemp.add(chasseurRecupere);
System.out.println("check listPiloteTemp : " + listPiloteTemp);
System.out.println("check listChasseurTemp : " + listChasseurTemp);
model.addAttribute("listPiloteTemps", listPiloteTemp);
model.addAttribute("listChasseurTemps", listChasseurTemp);
model.addAttribute("idMission", idMission);
model.addAttribute("missionToDisplay", missionService.findById(idMission));
//
// Affectation a = new Affectation();
// a.setChasseur(chasseurRecupere);
// a.setPilote(piloteRecupere);
// a.setMission(missionRecupere);
// piloteRecupere.getAffectation().add(a);
// System.out.println("apres ajouter affectation : " + piloteRecupere.getAffectation().toString());
//
return "nouvelleMission"; return "nouvelleMission";
} }
......
...@@ -6,6 +6,9 @@ package fr.ldnr.starWars.domains; ...@@ -6,6 +6,9 @@ package fr.ldnr.starWars.domains;
import jakarta.persistence.EmbeddedId; import jakarta.persistence.EmbeddedId;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn; import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne; import jakarta.persistence.ManyToOne;
import jakarta.persistence.MapsId; import jakarta.persistence.MapsId;
...@@ -18,30 +21,25 @@ import java.util.Objects; ...@@ -18,30 +21,25 @@ import java.util.Objects;
@Entity @Entity
public class Affectation { public class Affectation {
@EmbeddedId // to mark the primary key @Id // to mark the primary key
private AffectationId affectationId; @GeneratedValue(strategy = GenerationType.AUTO)
private Integer idAffectation;;
@ManyToOne @ManyToOne
@MapsId("id_pilote") // to tie to to part of the key
@JoinColumn
private Pilote pilote; private Pilote pilote;
@ManyToOne @ManyToOne
@MapsId("id_chasseur")
@JoinColumn
private Chasseur chasseur; private Chasseur chasseur;
@ManyToOne @ManyToOne
@MapsId("id_mission")
@JoinColumn
private Mission mission; private Mission mission;
public AffectationId getAffectationId() { public Integer getIdAffectation() {
return affectationId; return idAffectation;
} }
public void setAffectationId(AffectationId affectationId) { public void setIdAffectation(Integer idAffectation) {
this.affectationId = affectationId; this.idAffectation = idAffectation;
} }
public Pilote getPilote() { public Pilote getPilote() {
...@@ -70,8 +68,8 @@ public class Affectation { ...@@ -70,8 +68,8 @@ public class Affectation {
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 5; int hash = 3;
hash = 67 * hash + Objects.hashCode(this.affectationId); hash = 59 * hash + Objects.hashCode(this.idAffectation);
return hash; return hash;
} }
...@@ -87,13 +85,13 @@ public class Affectation { ...@@ -87,13 +85,13 @@ public class Affectation {
return false; return false;
} }
final Affectation other = (Affectation) obj; final Affectation other = (Affectation) obj;
return Objects.equals(this.affectationId, other.affectationId); return Objects.equals(this.idAffectation, other.idAffectation);
} }
@Override // @Override
public String toString() { // public String toString() {
return "Affectation{" + "affectationId=" + affectationId + ", pilote=" + pilote + ", chasseur=" + chasseur + ", mission=" + mission + '}'; // return "Affectation{" + "idAffectation=" + idAffectation + ", pilote=" + pilote + ", chasseur=" + chasseur + ", mission=" + mission + '}';
} // }
} }
/*
* 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 fr.ldnr.starWars.domains;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import java.io.Serializable;
import java.util.Objects;
/**
*
* @author stag
*/
@Embeddable
public class AffectationId implements Serializable {
@Column(name = "id_pilote")
private Integer id_pilote;
@Column(name = "id_chasseur")
private Integer id_chasseur;
@Column(name = "id_mission")
private Integer id_mission;
@Override
public int hashCode() {
int hash = 3;
hash = 47 * hash + Objects.hashCode(this.id_pilote);
hash = 47 * hash + Objects.hashCode(this.id_chasseur);
hash = 47 * hash + Objects.hashCode(this.id_mission);
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final AffectationId other = (AffectationId) obj;
if (!Objects.equals(this.id_pilote, other.id_pilote)) {
return false;
}
if (!Objects.equals(this.id_chasseur, other.id_chasseur)) {
return false;
}
return Objects.equals(this.id_mission, other.id_mission);
}
}
...@@ -11,6 +11,7 @@ import jakarta.persistence.GeneratedValue; ...@@ -11,6 +11,7 @@ import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType; import jakarta.persistence.GenerationType;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import jakarta.persistence.OneToMany; import jakarta.persistence.OneToMany;
import java.util.HashSet;
import java.util.Objects; import java.util.Objects;
import java.util.Set; import java.util.Set;
...@@ -23,41 +24,41 @@ public class Chasseur { ...@@ -23,41 +24,41 @@ public class Chasseur {
@Id @Id
@GeneratedValue(strategy = GenerationType.AUTO) @GeneratedValue(strategy = GenerationType.AUTO)
private Integer id_chasseur; private Integer idChasseur;
private TypeChasseur type_chasseur; private TypeChasseur type;
private EtatChasseur etat_chasseur; private EtatChasseur etat;
@OneToMany(mappedBy = "chasseur") @OneToMany(mappedBy = "chasseur")
Set<Affectation> affectation; Set<Affectation> affectation = new HashSet<>();
public Integer getId_chasseur() { public Integer getIdChasseur() {
return id_chasseur; return idChasseur;
} }
public void setId_chasseur(Integer id_chasseur) { public void setIdChasseur(Integer idChasseur) {
this.id_chasseur = id_chasseur; this.idChasseur = idChasseur;
} }
public TypeChasseur getType_chasseur() { public TypeChasseur getType() {
return type_chasseur; return type;
} }
public void setType_chasseur(TypeChasseur type_chasseur) { public void setType(TypeChasseur type) {
this.type_chasseur = type_chasseur; this.type = type;
} }
public EtatChasseur getEtat_chasseur() { public EtatChasseur getEtat() {
return etat_chasseur; return etat;
} }
public void setEtat_chasseur(EtatChasseur etat_chasseur) { public void setEtat(EtatChasseur etat) {
this.etat_chasseur = etat_chasseur; this.etat = etat;
} }
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 3; int hash = 3;
hash = 61 * hash + Objects.hashCode(this.id_chasseur); hash = 61 * hash + Objects.hashCode(this.idChasseur);
return hash; return hash;
} }
...@@ -73,17 +74,17 @@ public class Chasseur { ...@@ -73,17 +74,17 @@ public class Chasseur {
return false; return false;
} }
final Chasseur other = (Chasseur) obj; final Chasseur other = (Chasseur) obj;
return Objects.equals(this.id_chasseur, other.id_chasseur); return Objects.equals(this.idChasseur, other.idChasseur);
} }
@Override @Override
public String toString() { public String toString() {
return "Chasseur{" + "id_chasseur=" return "Chasseur{" + "id_chasseur="
+ id_chasseur + idChasseur
+ ", type_chasseur=" + ", type_chasseur="
+ type_chasseur + type
+ ", etat_chasseur=" + ", etat_chasseur="
+ etat_chasseur + '}'; + etat + '}';
} }
public void setId(String string) { public void setId(String string) {
......
...@@ -5,13 +5,14 @@ ...@@ -5,13 +5,14 @@
package fr.ldnr.starWars.domains; package fr.ldnr.starWars.domains;
import fr.ldnr.starWars.enumerations.ResultatMission; import fr.ldnr.starWars.enumerations.ResultatMission;
import fr.ldnr.starWars.enumerations.StatutMission;
import fr.ldnr.starWars.enumerations.TypeMission; import fr.ldnr.starWars.enumerations.TypeMission;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue; import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType; import jakarta.persistence.GenerationType;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import jakarta.persistence.OneToMany; import jakarta.persistence.OneToMany;
import java.util.Date; import java.util.HashSet;
import java.util.Objects; import java.util.Objects;
import java.util.Set; import java.util.Set;
...@@ -24,37 +25,38 @@ public class Mission { ...@@ -24,37 +25,38 @@ public class Mission {
@Id @Id
@GeneratedValue(strategy = GenerationType.AUTO) @GeneratedValue(strategy = GenerationType.AUTO)
private Integer id_mission; private Integer idMission;
private String titre_mission; private String titre;
private TypeMission type_mission; private TypeMission type;
private Integer nbHeure; private Integer nbHeure;
private ResultatMission resultat; private ResultatMission resultat;
private StatutMission statut;
@OneToMany(mappedBy = "mission") @OneToMany(mappedBy = "mission")
Set<Affectation> affectation; Set<Affectation> affectation = new HashSet<>();
public Integer getId_mission() { public Integer getIdMission() {
return id_mission; return idMission;
} }
public void setId_mission(Integer id_mission) { public void setIdMission(Integer idMission) {
this.id_mission = id_mission; this.idMission = idMission;
} }
public String getTitre_mission() { public String getTitre() {
return titre_mission; return titre;
} }
public void setTitre_mission(String titre_mission) { public void setTitre(String titre) {
this.titre_mission = titre_mission; this.titre = titre;
} }
public TypeMission getType_mission() { public TypeMission getType() {
return type_mission; return type;
} }
public void setType_mission(TypeMission type_mission) { public void setType(TypeMission type) {
this.type_mission = type_mission; this.type = type;
} }
public Integer getNbHeure() { public Integer getNbHeure() {
...@@ -65,6 +67,16 @@ public class Mission { ...@@ -65,6 +67,16 @@ public class Mission {
this.nbHeure = nbHeure; this.nbHeure = nbHeure;
} }
public StatutMission getStatut() {
return statut;
}
public void setStatut(StatutMission statut) {
this.statut = statut;
}
public Set<Affectation> getAffectation() { public Set<Affectation> getAffectation() {
return affectation; return affectation;
} }
...@@ -76,7 +88,7 @@ public class Mission { ...@@ -76,7 +88,7 @@ public class Mission {
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 5; int hash = 5;
hash = 73 * hash + Objects.hashCode(this.id_mission); hash = 73 * hash + Objects.hashCode(this.idMission);
return hash; return hash;
} }
...@@ -92,7 +104,7 @@ public class Mission { ...@@ -92,7 +104,7 @@ public class Mission {
return false; return false;
} }
final Mission other = (Mission) obj; final Mission other = (Mission) obj;
return Objects.equals(this.id_mission, other.id_mission); return Objects.equals(this.idMission, other.idMission);
} }
public ResultatMission getResultat() { public ResultatMission getResultat() {
...@@ -105,7 +117,7 @@ public class Mission { ...@@ -105,7 +117,7 @@ public class Mission {
@Override @Override
public String toString() { public String toString() {
return "Mission{" + "id_mission=" + id_mission + ", titre_mission=" + titre_mission + ", type_mission=" + type_mission + ", nbHeure=" + nbHeure + ", resultat=" + resultat + ", affectation=" + affectation + '}'; return "Mission{" + "id_mission=" + idMission + ", titre_mission=" + titre + ", type_mission=" + type + ", nbHeure=" + nbHeure + ", resultat=" + resultat + ", affectation=" + affectation + '}';
} }
} }
...@@ -9,10 +9,12 @@ import fr.ldnr.starWars.enumerations.GradePilote; ...@@ -9,10 +9,12 @@ import fr.ldnr.starWars.enumerations.GradePilote;
import fr.ldnr.starWars.enumerations.RacePilote; import fr.ldnr.starWars.enumerations.RacePilote;
import fr.ldnr.starWars.enumerations.TypePilote; import fr.ldnr.starWars.enumerations.TypePilote;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue; import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType; import jakarta.persistence.GenerationType;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import jakarta.persistence.OneToMany; import jakarta.persistence.OneToMany;
import java.util.HashSet;
import java.util.Objects; import java.util.Objects;
import java.util.Set; import java.util.Set;
...@@ -25,24 +27,24 @@ public class Pilote { ...@@ -25,24 +27,24 @@ public class Pilote {
@Id @Id
@GeneratedValue(strategy = GenerationType.AUTO) @GeneratedValue(strategy = GenerationType.AUTO)
private Integer id_pilote; private Integer idPilote;
private String nom; private String nom;
private String prenom; private String prenom;
private Integer age_inscription; private Integer age;
private RacePilote race; private RacePilote race;
private TypePilote type_pilote; private TypePilote type;
private EtatPilote etat_pilote; private EtatPilote etat;
private GradePilote grade; private GradePilote grade;
@OneToMany(mappedBy = "pilote") @OneToMany(mappedBy = "pilote", fetch = FetchType.EAGER)
Set<Affectation> affectation; Set<Affectation> affectation = new HashSet<>();
public Integer getId_pilote() { public Integer getIdPilote() {
return id_pilote; return idPilote;
} }
public void setId_pilote(Integer id_pilote) { public void setIdPilote(Integer idPilote) {
this.id_pilote = id_pilote; this.idPilote = idPilote;
} }
public String getNom() { public String getNom() {
...@@ -61,12 +63,12 @@ public class Pilote { ...@@ -61,12 +63,12 @@ public class Pilote {
this.prenom = prenom; this.prenom = prenom;
} }
public Integer getAge_inscription() { public Integer getAge() {
return age_inscription; return age;
} }
public void setAge_inscription(Integer age_inscription) { public void setAge(Integer age) {
this.age_inscription = age_inscription; this.age = age;
} }
public Set<Affectation> getAffectation() { public Set<Affectation> getAffectation() {
...@@ -85,12 +87,12 @@ public class Pilote { ...@@ -85,12 +87,12 @@ public class Pilote {
this.race = race; this.race = race;
} }
public EtatPilote getEtat_pilote() { public EtatPilote getEtat() {
return etat_pilote; return etat;
} }
public void setEtat_pilote(EtatPilote etat_pilote) { public void setEtat(EtatPilote etat) {
this.etat_pilote = etat_pilote; this.etat = etat;
} }
public GradePilote getGrade() { public GradePilote getGrade() {
...@@ -101,18 +103,18 @@ public class Pilote { ...@@ -101,18 +103,18 @@ public class Pilote {
this.grade = grade; this.grade = grade;
} }
public TypePilote getType_pilote() { public TypePilote getType() {
return type_pilote; return type;
} }
public void setType_pilote(TypePilote type_pilote) { public void setType(TypePilote type) {
this.type_pilote = type_pilote; this.type = type;
} }
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 7; int hash = 7;
hash = 67 * hash + Objects.hashCode(this.id_pilote); hash = 67 * hash + Objects.hashCode(this.idPilote);
return hash; return hash;
} }
...@@ -128,12 +130,13 @@ public class Pilote { ...@@ -128,12 +130,13 @@ public class Pilote {
return false; return false;
} }
final Pilote other = (Pilote) obj; final Pilote other = (Pilote) obj;
return Objects.equals(this.id_pilote, other.id_pilote); return Objects.equals(this.idPilote, other.idPilote);
} }
@Override @Override
public String toString() { public String toString() {
return "Pilote{" + "id_pilote=" + id_pilote + ", nom=" + nom + ", prenom=" + prenom + ", age_inscription=" + age_inscription + ", race=" + race + ", etat_pilote=" + etat_pilote + ", grade=" + grade + ", affectation=" + affectation + '}'; return "Pilote{" + "idPilote=" + idPilote + ", nom=" + nom + ", prenom=" + prenom + ", age=" + age + ", race=" + race + ", type=" + type + ", etat=" + etat + ", grade=" + grade + ", affectation=" + affectation + '}';
} }
} }