diff --git a/src/Client/src/main/java/greenify/client/controller/DashBoardController.java b/src/Client/src/main/java/greenify/client/controller/DashBoardController.java
index 3e4b76e..07b5392 100644
--- a/src/Client/src/main/java/greenify/client/controller/DashBoardController.java
+++ b/src/Client/src/main/java/greenify/client/controller/DashBoardController.java
@@ -22,19 +22,41 @@ public class DashBoardController {
public Button dashboardButton;
public Button activitiesButton;
public Button userButton;
- public Button veganMealButton;
- public Label counter;
public Label scoreField;
+ //activities buttons
+ @FXML
+ public Button veganMealButton;
+ public Button localProduceButton;
+ public Button bikeButton;
+ public Button publicTransportButton;
+ public Button temperatureButton;
+ public Button solarPanelButton;
+
+ //activities counters
+ public Label veganMealCounter;
+ public Label localProduceCounter;
+ public Label bikeCounter;
+ public Label publicTransportCounter;
+ public Label temperatureCounter;
+ public Label solarPanelCounter;
+
/**
* displays the dashboard pane.
* @param event the event (clicking the button)
*/
public void displayDashboard(ActionEvent event) {
System.out.println("display dashboard");
+
+// UserService service = new UserService();
+// UserDTO user = service.getName(null);
+// String name = user.getName();
+// welcomebacktext.setText("Welcome back, " + name);
+
dashboardPane.setVisible(true);
userPane.setVisible(false);
activitiesPane.setVisible(false);
+
}
/**
@@ -65,7 +87,7 @@ public class DashBoardController {
*/
public void addVeganMeal(ActionEvent event) {
count++;
- counter.setText("Count: " + count);
+ veganMealCounter.setText("Count: " + count);
UserService service = new UserService();
service.addVeganMeal(null, null);
System.out.println("Vegetarian meal is added");
diff --git a/src/Client/src/main/java/greenify/client/rest/UserService.java b/src/Client/src/main/java/greenify/client/rest/UserService.java
index 9ede326..e951973 100644
--- a/src/Client/src/main/java/greenify/client/rest/UserService.java
+++ b/src/Client/src/main/java/greenify/client/rest/UserService.java
@@ -4,8 +4,9 @@ import greenify.common.UserDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
-import org.springframework.http.*;
-import org.springframework.stereotype.Component;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
@@ -25,8 +26,9 @@ public class UserService {
* registers the user.
* @param name the username of the user
* @param password the password of the user
- * @return a userDTO
+ * @return a built userDTO with the required information
*/
+ @SuppressWarnings("Duplicates")
public UserDTO registerUser(String name, String password) {
HttpHeaders headers = new HttpHeaders();
headers.set("Accept", MediaType.APPLICATION_JSON_VALUE);
@@ -38,6 +40,13 @@ public class UserService {
return this.restTemplate.getForObject(builder.build().encode().toUri(), UserDTO.class);
}
+ /**
+ * logd the user in.
+ * @param name the username of the user
+ * @param password the password of the user
+ * @return a built userDTO with the required information
+ */
+ @SuppressWarnings("Duplicates")
public UserDTO loginUser(String name, String password) {
HttpHeaders headers = new HttpHeaders();
headers.set("Accept", MediaType.APPLICATION_JSON_VALUE);
@@ -49,6 +58,13 @@ public class UserService {
return this.restTemplate.getForObject(builder.build().encode().toUri(), UserDTO.class);
}
+ /**
+ * adds a vegetarian meal to the user.
+ * @param id the id of the user
+ * @param name the username of the user
+ * @return a built userDTO with the required information
+ */
+ @SuppressWarnings("Duplicates")
public UserDTO addVeganMeal(Long id, String name) {
HttpHeaders headers = new HttpHeaders();
headers.set("Accept", MediaType.APPLICATION_JSON_VALUE);
@@ -59,4 +75,20 @@ public class UserService {
System.out.println(builder.build().encode().toUri());
return this.restTemplate.getForObject(builder.build().encode().toUri(), UserDTO.class);
}
+
+ /**
+ * gets the username from the user.
+ * @param id the id of the user
+ * @return a UserDTO with the required information
+ */
+ @SuppressWarnings("Duplicates")
+ public UserDTO getName(Long id) {
+ HttpHeaders headers = new HttpHeaders();
+ headers.set("Accept", MediaType.APPLICATION_JSON_VALUE);
+ UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("http://localhost:8080/getUsername")
+ .queryParam("id", id);
+ HttpEntity> entity = new HttpEntity<>(headers);
+ System.out.println(builder.build().encode().toUri());
+ return this.restTemplate.getForObject(builder.build().encode().toUri(), UserDTO.class);
+ }
}
diff --git a/src/Client/src/main/resources/fxml/dashboard.fxml b/src/Client/src/main/resources/fxml/dashboard.fxml
index 43fd60d..36e3f76 100644
--- a/src/Client/src/main/resources/fxml/dashboard.fxml
+++ b/src/Client/src/main/resources/fxml/dashboard.fxml
@@ -1,11 +1,15 @@
+
+
+
+
@@ -35,21 +39,84 @@
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Server/src/main/java/greenify/server/data/repository/UserRepository.java b/src/Server/src/main/java/greenify/server/data/repository/UserRepository.java
index 377f7c8..af4c6b7 100644
--- a/src/Server/src/main/java/greenify/server/data/repository/UserRepository.java
+++ b/src/Server/src/main/java/greenify/server/data/repository/UserRepository.java
@@ -2,11 +2,11 @@ package greenify.server.data.repository;
import greenify.server.data.model.User;
import org.springframework.data.repository.CrudRepository;
-import org.springframework.data.repository.query.Param;
public interface UserRepository extends CrudRepository {
- User findByName(@Param("name") String name);
- // User findByName(String name);
+ // User findByName(@Param("name") String name);
+ User findByName(String name);
+ User findById(Long id);
T save(T user);
}
diff --git a/src/Server/src/main/java/greenify/server/rest/UserController.java b/src/Server/src/main/java/greenify/server/rest/UserController.java
index 27cd303..4db7703 100644
--- a/src/Server/src/main/java/greenify/server/rest/UserController.java
+++ b/src/Server/src/main/java/greenify/server/rest/UserController.java
@@ -3,6 +3,7 @@ package greenify.server.rest;
import greenify.common.UserDTO;
import greenify.server.service.UserService;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@@ -29,4 +30,9 @@ public class UserController {
@RequestParam(value = "name") String name) {
userService.addVeganMeal(id, name);
}
+
+ @GetMapping("/getUsername")
+ public void getUsername(@RequestParam(value = "id") Long id) {
+ userService.getUsername(id);
+ }
}
\ No newline at end of file
diff --git a/src/Server/src/main/java/greenify/server/service/UserService.java b/src/Server/src/main/java/greenify/server/service/UserService.java
index e305920..e8baf64 100644
--- a/src/Server/src/main/java/greenify/server/service/UserService.java
+++ b/src/Server/src/main/java/greenify/server/service/UserService.java
@@ -64,5 +64,12 @@ public class UserService {
user.setVeganMeal(count);
logger.info("Added vegan meal to user(id=" + user.getId() + ", name=" + user.getName() + ")");
}
+
+ public String getUsername(Long id) {
+ User user = userRepository.findById(id);
+ String name = user.getName();
+ logger.info("retrieved username from user with username=" + name + ", id=" + id);
+ return name;
+ }
}