// Path: code/exercise_4/exercise/src/main/java/com/frankmoley/talks/spring/intro/service/UserService.java
// @Service
// public class UserService {
// 
//     private final PersonRepository personRepository;
// 
//     @Autowired
//     public UserService(PersonRepository personRepository){
//         super();
//         this.personRepository = personRepository;
//     }
// 
//     @Loggable
//     public User getUser(String emailAddress){
//         User user = new User();
//         user.setUsername("BigLebowski");
//         user.setPersonId(UUID.randomUUID().toString());
//         return user;
//     }
// }
// 
// Path: code/exercise_4/solution/src/main/java/com/frankmoley/talks/spring/intro/service/domain/model/User.java
// public class User {
//     private String username;
//     private String personId;
// 
//     public String getUsername() {
//         return username;
//     }
// 
//     public void setUsername(String username) {
//         this.username = username;
//     }
// 
//     public String getPersonId() {
//         return personId;
//     }
// 
//     public void setPersonId(String personId) {
//         this.personId = personId;
//     }
// }


import com.frankmoley.talks.spring.intro.service.UserService;
import com.frankmoley.talks.spring.intro.service.domain.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
package com.frankmoley.talks.spring.intro.web.service;



@RestController
@RequestMapping("/api")
public class ServiceController {

// Path: code/exercise_4/exercise/src/main/java/com/frankmoley/talks/spring/intro/service/UserService.java
// @Service
// public class UserService {
// 
//     private final PersonRepository personRepository;
// 
//     @Autowired
//     public UserService(PersonRepository personRepository){
//         super();
//         this.personRepository = personRepository;
//     }
// 
//     @Loggable
//     public User getUser(String emailAddress){
//         User user = new User();
//         user.setUsername("BigLebowski");
//         user.setPersonId(UUID.randomUUID().toString());
//         return user;
//     }
// }
// 
// Path: code/exercise_4/solution/src/main/java/com/frankmoley/talks/spring/intro/service/domain/model/User.java
// public class User {
//     private String username;
//     private String personId;
// 
//     public String getUsername() {
//         return username;
//     }
// 
//     public void setUsername(String username) {
//         this.username = username;
//     }
// 
//     public String getPersonId() {
//         return personId;
//     }
// 
//     public void setPersonId(String personId) {
//         this.personId = personId;
//     }
// }


// Path: code/exercise_4/solution/src/main/java/com/frankmoley/talks/spring/intro/web/service/ServiceController.java
import com.frankmoley.talks.spring.intro.service.UserService;
import com.frankmoley.talks.spring.intro.service.domain.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;

package com.frankmoley.talks.spring.intro.web.service;



@RestController
@RequestMapping("/api")
public class ServiceController {

    private final UserService userService;