ADD::almost completed travel pane of calculator
This commit is contained in:
@@ -54,6 +54,7 @@ public class Application extends javafx.application.Application {
|
|||||||
.getResource("fxml/LoginWindow.fxml"));
|
.getResource("fxml/LoginWindow.fxml"));
|
||||||
primaryStage.setTitle("Greenify");
|
primaryStage.setTitle("Greenify");
|
||||||
Scene scene = new Scene(rootNode);
|
Scene scene = new Scene(rootNode);
|
||||||
|
scene.getStylesheets().add(getClass().getClassLoader().getResource("stylesheets/LoginWindowStyle.css").toExternalForm());
|
||||||
primaryStage.setScene(scene);
|
primaryStage.setScene(scene);
|
||||||
primaryStage.show();
|
primaryStage.show();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ import javafx.event.ActionEvent;
|
|||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.control.ScrollPane;
|
|
||||||
import javafx.scene.control.Slider;
|
import javafx.scene.control.Slider;
|
||||||
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.layout.AnchorPane;
|
import javafx.scene.layout.AnchorPane;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
@@ -31,7 +31,7 @@ public class CalculatorController {
|
|||||||
@FXML
|
@FXML
|
||||||
private AnchorPane getStartedPane;
|
private AnchorPane getStartedPane;
|
||||||
@FXML
|
@FXML
|
||||||
private ScrollPane travelPane;
|
private AnchorPane travelPane;
|
||||||
@FXML
|
@FXML
|
||||||
private AnchorPane homePane;
|
private AnchorPane homePane;
|
||||||
@FXML
|
@FXML
|
||||||
@@ -39,7 +39,7 @@ public class CalculatorController {
|
|||||||
@FXML
|
@FXML
|
||||||
private AnchorPane shoppingPane;
|
private AnchorPane shoppingPane;
|
||||||
@FXML
|
@FXML
|
||||||
private Slider peopleInHouseholdSLider;
|
private Slider peopleInHouseholdSlider;
|
||||||
@FXML
|
@FXML
|
||||||
private Label peopleInHouseHoldLabel;
|
private Label peopleInHouseHoldLabel;
|
||||||
@FXML
|
@FXML
|
||||||
@@ -48,8 +48,12 @@ public class CalculatorController {
|
|||||||
private Label annualIncomeLabel;
|
private Label annualIncomeLabel;
|
||||||
@FXML
|
@FXML
|
||||||
private Button saveButton;
|
private Button saveButton;
|
||||||
|
// @FXML
|
||||||
|
// private Button getStartedNextButton;
|
||||||
@FXML
|
@FXML
|
||||||
private Button getStartedNextButton;
|
private TextField publicTransitField;
|
||||||
|
@FXML
|
||||||
|
private TextField airplaneTravelField;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* initializes the window, performs some actions before loading all other things.
|
* initializes the window, performs some actions before loading all other things.
|
||||||
@@ -57,10 +61,10 @@ public class CalculatorController {
|
|||||||
* it adds listeners to all the sliders for updating the label next to them
|
* it adds listeners to all the sliders for updating the label next to them
|
||||||
*/
|
*/
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
peopleInHouseholdSLider.setSnapToTicks(true);
|
peopleInHouseholdSlider.setSnapToTicks(true);
|
||||||
annualIncomeSlider.setSnapToTicks(true);
|
annualIncomeSlider.setSnapToTicks(true);
|
||||||
//add listener to slider for amount of people in household
|
//add listener to slider for amount of people in household
|
||||||
peopleInHouseholdSLider.valueProperty().addListener(new ChangeListener<Number>() {
|
peopleInHouseholdSlider.valueProperty().addListener(new ChangeListener<Number>() {
|
||||||
|
|
||||||
public void changed(ObservableValue<? extends Number> observable,
|
public void changed(ObservableValue<? extends Number> observable,
|
||||||
Number oldValue, Number newValue) {
|
Number oldValue, Number newValue) {
|
||||||
|
|||||||
@@ -61,6 +61,8 @@ public class DashBoardController {
|
|||||||
private Button addNewActivityButton;
|
private Button addNewActivityButton;
|
||||||
@FXML
|
@FXML
|
||||||
private Button calculateFootPrintButton;
|
private Button calculateFootPrintButton;
|
||||||
|
@FXML
|
||||||
|
private Label footPrintLabel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads the the necessary things before anything else.
|
* Loads the the necessary things before anything else.
|
||||||
|
|||||||
@@ -1,10 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<?import java.lang.*?>
|
||||||
|
<?import javafx.scene.image.*?>
|
||||||
|
<?import javafx.scene.layout.*?>
|
||||||
<?import javafx.scene.control.*?>
|
<?import javafx.scene.control.*?>
|
||||||
<?import javafx.scene.image.Image?>
|
<?import javafx.scene.image.Image?>
|
||||||
<?import javafx.scene.image.ImageView?>
|
<?import javafx.scene.image.ImageView?>
|
||||||
<?import javafx.scene.layout.AnchorPane?>
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
<?import javafx.scene.text.*?>
|
<?import javafx.scene.text.*?>
|
||||||
|
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="602.0" prefWidth="934.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="greenify.client.controller.UserController">
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="602.0" prefWidth="934.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="greenify.client.controller.UserController">
|
||||||
<children>
|
<children>
|
||||||
<ImageView fitHeight="600.0" fitWidth="943.0" layoutX="-1.0" pickOnBounds="true">
|
<ImageView fitHeight="600.0" fitWidth="943.0" layoutX="-1.0" pickOnBounds="true">
|
||||||
@@ -32,4 +36,3 @@
|
|||||||
<TextField fx:id="usernameField" layoutX="319.0" layoutY="154.0" prefHeight="42.0" prefWidth="303.0" promptText="Username" />
|
<TextField fx:id="usernameField" layoutX="319.0" layoutY="154.0" prefHeight="42.0" prefWidth="303.0" promptText="Username" />
|
||||||
</children>
|
</children>
|
||||||
</AnchorPane>
|
</AnchorPane>
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
<AnchorPane prefHeight="703.0" prefWidth="820.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="greenify.client.controller.CalculatorController">
|
<AnchorPane prefHeight="703.0" prefWidth="820.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="greenify.client.controller.CalculatorController">
|
||||||
<children>
|
<children>
|
||||||
<AnchorPane fx:id="calculatorTabs" prefHeight="85.0" prefWidth="820.0" style="-fx-background-color: #677069;">
|
<AnchorPane fx:id="calculatorTabs" prefHeight="92.0" prefWidth="820.0" style="-fx-background-color: #677069;">
|
||||||
<children>
|
<children>
|
||||||
<Button fx:id="calculatorGetStartedButton" contentDisplay="TOP" layoutX="188.0" layoutY="5.0" mnemonicParsing="false" onAction="#displayGetStarted" style="-fx-padding: 0px 0px 0px 0px;" styleClass="navButton" text="Get started" textFill="#d4ddd6" AnchorPane.leftAnchor="188.0">
|
<Button fx:id="calculatorGetStartedButton" contentDisplay="TOP" layoutX="188.0" layoutY="5.0" mnemonicParsing="false" onAction="#displayGetStarted" style="-fx-padding: 0px 0px 0px 0px;" styleClass="navButton" text="Get started" textFill="#d4ddd6" AnchorPane.leftAnchor="188.0">
|
||||||
<font>
|
<font>
|
||||||
@@ -104,14 +104,14 @@
|
|||||||
</font></Button>
|
</font></Button>
|
||||||
</children>
|
</children>
|
||||||
</AnchorPane>
|
</AnchorPane>
|
||||||
<AnchorPane fx:id="getStartedPane" layoutY="85.0" prefHeight="618.0" prefWidth="820.0" AnchorPane.leftAnchor="0.0">
|
<AnchorPane fx:id="getStartedPane" layoutY="85.0" prefHeight="618.0" prefWidth="820.0" visible="false" AnchorPane.leftAnchor="0.0">
|
||||||
<children>
|
<children>
|
||||||
<Text layoutX="224.0" layoutY="96.0" strokeType="OUTSIDE" strokeWidth="0.0" text="1. How many people live in your household?">
|
<Text layoutX="224.0" layoutY="96.0" strokeType="OUTSIDE" strokeWidth="0.0" text="1. How many people live in your household?">
|
||||||
<font>
|
<font>
|
||||||
<Font size="19.0" />
|
<Font size="19.0" />
|
||||||
</font>
|
</font>
|
||||||
</Text>
|
</Text>
|
||||||
<Slider fx:id="peopleInHouseholdSLider" blockIncrement="1.0" layoutX="260.0" layoutY="147.0" majorTickUnit="1.0" max="6.0" min="1.0" minorTickCount="0" prefHeight="38.0" prefWidth="300.0" showTickLabels="true" showTickMarks="true" snapToTicks="true" />
|
<Slider fx:id="peopleInHouseholdSlider" blockIncrement="1.0" layoutX="260.0" layoutY="147.0" majorTickUnit="1.0" max="6.0" min="1.0" minorTickCount="0" prefHeight="38.0" prefWidth="300.0" showTickLabels="true" showTickMarks="true" snapToTicks="true" />
|
||||||
<Label fx:id="peopleInHouseHoldLabel" alignment="CENTER" contentDisplay="CENTER" layoutX="612.0" layoutY="70.0" prefHeight="38.0" prefWidth="44.0" text="0">
|
<Label fx:id="peopleInHouseHoldLabel" alignment="CENTER" contentDisplay="CENTER" layoutX="612.0" layoutY="70.0" prefHeight="38.0" prefWidth="44.0" text="0">
|
||||||
<font>
|
<font>
|
||||||
<Font size="20.0" />
|
<Font size="20.0" />
|
||||||
@@ -137,7 +137,54 @@
|
|||||||
</Label>
|
</Label>
|
||||||
<Button fx:id="getStartedNextButton" layoutX="383.0" layoutY="406.0" mnemonicParsing="false" onAction="#displayTravel" styleClass="nextButton" text="Next" />
|
<Button fx:id="getStartedNextButton" layoutX="383.0" layoutY="406.0" mnemonicParsing="false" onAction="#displayTravel" styleClass="nextButton" text="Next" />
|
||||||
</children></AnchorPane>
|
</children></AnchorPane>
|
||||||
<ScrollPane fx:id="travelPane" layoutY="85.0" prefHeight="618.0" prefWidth="820.0" visible="false" />
|
<AnchorPane fx:id="travelPane" layoutY="85.0" prefHeight="618.0" prefWidth="820.0">
|
||||||
|
<children>
|
||||||
|
<ScrollPane layoutX="158.0" layoutY="109.0" prefHeight="215.0" prefWidth="499.0">
|
||||||
|
<content>
|
||||||
|
<TextField prefHeight="33.0" prefWidth="497.0" />
|
||||||
|
</content></ScrollPane>
|
||||||
|
<Text layoutX="300.0" layoutY="36.0" strokeType="OUTSIDE" strokeWidth="0.0" text="How do you get around?">
|
||||||
|
<font>
|
||||||
|
<Font size="20.0" />
|
||||||
|
</font></Text>
|
||||||
|
<Text fill="#727272" layoutX="370.0" layoutY="103.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Car travel">
|
||||||
|
<font>
|
||||||
|
<Font size="18.0" />
|
||||||
|
</font>
|
||||||
|
</Text>
|
||||||
|
<Text fill="#727272" layoutX="355.0" layoutY="374.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Public Transit">
|
||||||
|
<font>
|
||||||
|
<Font size="18.0" />
|
||||||
|
</font>
|
||||||
|
</Text>
|
||||||
|
<TextField fx:id="publicTransitField" alignment="CENTER_RIGHT" layoutX="158.0" layoutY="394.0" prefHeight="31.0" prefWidth="499.0" promptText="0" />
|
||||||
|
<Text fill="#727272" layoutX="350.0" layoutY="476.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Airplane travel">
|
||||||
|
<font>
|
||||||
|
<Font size="18.0" />
|
||||||
|
</font>
|
||||||
|
</Text>
|
||||||
|
<TextField fx:id="airplaneTravelField" alignment="CENTER_RIGHT" layoutX="158.0" layoutY="495.0" prefHeight="31.0" prefWidth="499.0" promptText="0" />
|
||||||
|
<HBox alignment="CENTER_LEFT" layoutX="659.0" layoutY="394.0" prefHeight="31.0" prefWidth="62.0" styleClass="km-yearBox">
|
||||||
|
<children>
|
||||||
|
<Text layoutY="3.0" strokeType="OUTSIDE" strokeWidth="0.0" text="km/year" wrappingWidth="63.0">
|
||||||
|
<font>
|
||||||
|
<Font size="16.0" />
|
||||||
|
</font>
|
||||||
|
</Text>
|
||||||
|
</children>
|
||||||
|
</HBox>
|
||||||
|
<HBox alignment="CENTER_LEFT" layoutX="659.0" layoutY="495.0" prefHeight="31.0" prefWidth="62.0" styleClass="km-yearBox">
|
||||||
|
<children>
|
||||||
|
<Text layoutY="3.0" strokeType="OUTSIDE" strokeWidth="0.0" text="km/year" wrappingWidth="63.0">
|
||||||
|
<font>
|
||||||
|
<Font size="16.0" />
|
||||||
|
</font>
|
||||||
|
</Text>
|
||||||
|
</children>
|
||||||
|
</HBox>
|
||||||
|
<Button fx:id="travelNextButton" layoutX="383.0" layoutY="559.0" mnemonicParsing="false" onAction="#displayHome" styleClass="nextButton" text="Next" />
|
||||||
|
</children>
|
||||||
|
</AnchorPane>
|
||||||
<AnchorPane fx:id="homePane" layoutY="85.0" prefHeight="618.0" prefWidth="820.0" visible="false" />
|
<AnchorPane fx:id="homePane" layoutY="85.0" prefHeight="618.0" prefWidth="820.0" visible="false" />
|
||||||
<AnchorPane fx:id="foodPane" layoutY="85.0" prefHeight="618.0" prefWidth="820.0" visible="false" />
|
<AnchorPane fx:id="foodPane" layoutY="85.0" prefHeight="618.0" prefWidth="820.0" visible="false" />
|
||||||
<AnchorPane fx:id="shoppingPane" layoutY="85.0" prefHeight="618.0" prefWidth="820.0" visible="false" />
|
<AnchorPane fx:id="shoppingPane" layoutY="85.0" prefHeight="618.0" prefWidth="820.0" visible="false" />
|
||||||
|
|||||||
@@ -190,7 +190,7 @@
|
|||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
</Text>
|
</Text>
|
||||||
<Label fx:id="scoreField1" alignment="CENTER" contentDisplay="CENTER" prefHeight="27.0" prefWidth="134.0" text="co2 footprint" textAlignment="CENTER">
|
<Label fx:id="footPrintLabel" alignment="CENTER" contentDisplay="CENTER" prefHeight="27.0" prefWidth="134.0" text="co2 footprint" textAlignment="CENTER">
|
||||||
<font>
|
<font>
|
||||||
<Font size="18.0" />
|
<Font size="18.0" />
|
||||||
</font>
|
</font>
|
||||||
|
|||||||
@@ -29,6 +29,13 @@
|
|||||||
-fx-text-fill: red;
|
-fx-text-fill: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.km-yearBox {
|
||||||
|
-fx-background-color: #efefef;
|
||||||
|
-fx-border-radius: 5px;
|
||||||
|
-fx-background-radius: 5px;
|
||||||
|
-fx-padding: 0 0 0 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,15 +4,9 @@ import greenify.common.ApplicationException;
|
|||||||
import greenify.server.InputValidator;
|
import greenify.server.InputValidator;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Data
|
@Data
|
||||||
@@ -147,8 +141,7 @@ public class User {
|
|||||||
public void addFriend(User user) {
|
public void addFriend(User user) {
|
||||||
if (user.equals(this)) {
|
if (user.equals(this)) {
|
||||||
throw new ApplicationException("Cannot add yourself as a friend");
|
throw new ApplicationException("Cannot add yourself as a friend");
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
friends.add(user);
|
friends.add(user);
|
||||||
System.out.print("Friend added!");
|
System.out.print("Friend added!");
|
||||||
}
|
}
|
||||||
@@ -179,7 +172,8 @@ public class User {
|
|||||||
return result + "]";
|
return result + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method checks whether two users are equal or not.
|
/**
|
||||||
|
* This method checks whether two users are equal or not.
|
||||||
* @param other an other user
|
* @param other an other user
|
||||||
* @return users are (not) equal
|
* @return users are (not) equal
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
package greenify.server.service;
|
package greenify.server.service;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
|
||||||
import static org.mockito.Mockito.when;
|
|
||||||
|
|
||||||
import greenify.common.ApplicationException;
|
import greenify.common.ApplicationException;
|
||||||
import greenify.common.UserDto;
|
import greenify.common.UserDto;
|
||||||
import greenify.server.data.model.User;
|
import greenify.server.data.model.User;
|
||||||
@@ -19,6 +15,10 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
public class UserServiceTest {
|
public class UserServiceTest {
|
||||||
@TestConfiguration
|
@TestConfiguration
|
||||||
|
|||||||
Reference in New Issue
Block a user