IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Aide sur tutoriel Spring Rest


Sujet :

Spring Java

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2011
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 248
    Points : 74
    Points
    74
    Par défaut Aide sur tutoriel Spring Rest
    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:

    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());
    	}
    Pourquoi addUserRole ne prend pas un rôle en paramètre d'entrée?
    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_USER
    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());
        }
        }
    Merci pour votre aide !

  2. #2
    Membre régulier
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2011
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 248
    Points : 74
    Points
    74
    Par défaut
    Bon je réponds moi même à ma question.
    Il s'agit apparemment d'une méthode qui ajoute un rôle par défaut.

    Ma nouvelle question serait alors de savoir comment ajouter un rôle défini (un nouveau rôle).

    Merci pour votre aide.

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2011
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 248
    Points : 74
    Points
    74
    Par défaut
    Bon je pense avoir compris.
    On créé simplement un objet par défaut avec un nom par défaut.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Role roleUser = new Role("ROLE_USER");//initialisation du rôle ROLE_USER
    Et sachant qu'il a déjà été déclaré et donc enregistré précédemment, on va le récupérer dans la bdd.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Data] Aide sur la couche service de spring
    Par ubuntinix dans le forum Spring
    Réponses: 0
    Dernier message: 05/07/2011, 09h14
  2. [Spring Mail] aide sur envoi email avec spring
    Par Jacobian dans le forum Spring
    Réponses: 1
    Dernier message: 30/05/2008, 13h18
  3. [JDOM] Aide sur tutoriel
    Par AnneB dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 20/08/2007, 11h22
  4. [Integration] Demande d'aide sur spring 2 et JMS
    Par cooltwan dans le forum Spring
    Réponses: 2
    Dernier message: 20/03/2007, 12h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo