Bonjour à tous,
Quelque chose m'intrigue dans ce tutoriel.
https://bnguimgo.developpez.com/tuto...tie-le-serveur
Dans la classe UserServiceImpl.java je ne comprends pas cette fonction:
Pourquoi addUserRole ne prend pas un rôle en paramètre d'entrée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 private void addUserRole(User user) { Set<Role> roles= new HashSet<>(); Role roleUser = new Role("ROLE_USER");//initialisation du rôle ROLE_USER roles.add(roleUser); user.setActive(0); Set<Role> roleFromDB = extractRole_Java8(roles, roleRepository.getAllRolesStream()); user.setRoles(roleFromDB); } private Set<Role> extractRole_Java8(Set<Role> rolesSetFromUser, Stream<Role> roleStreamFromDB) { // Collect UI role names Set<String> uiRoleNames = rolesSetFromUser.stream() .map(Role::getRoleName) .collect(Collectors.toCollection(HashSet::new)); // Filter DB roles return roleStreamFromDB .filter(role -> uiRoleNames.contains(role.getRoleName())) .collect(Collectors.toSet()); }
Je ne comprends pas non plus extractRole_Java8.
J'essaye de reproduire la même logique pour une API perso, avec des fonctions d'ajout pour des objets ayant des relations avec d'autres. Dans mon cas j'ai une classe "Musicien" avec une liaison many_to_many vers une classe "Style".
Mais ça m'ennuie un peu de recopier sans rien comprendre.
A quoi sert cette initialisation ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Role roleUser = new Role("ROLE_USER");//initialisation du rôle ROLE_USERMerci pour votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 private void addMusicianStyle(Musician musician) { Set<Style> styles = new HashSet<>(); Style styleMusician = new Style("Style_Musician");//initialisation styles.add(styleMusician); Set<Style> stylesFromDB = extractStyles_Java8(styles, styleRepository.getAllStylesStream()); musician.setStyles(stylesFromDB); private Set<Style> extractStyles_Java8(Set<Style> stylesSetFromMusician, Stream<Style> stylesStreamFromDB) { // Collect UI subInstruments names Set<String> uiStylesNames = stylesSetFromMusician.stream() .map(Style::getName) .collect(Collectors.toCollection(HashSet::new)); // Filter DB subInstruments return stylesStreamFromDB .filter(style -> uiStylesNames.contains(style.getName())) .collect(Collectors.toSet()); } }
Partager