Skip to content

Commit

Permalink
D3#41 Extracted methods and variables
Browse files Browse the repository at this point in the history
Removed logic from the backend and implemented in the frontend to make
model lighter and frontend more pertinent and coherent
  • Loading branch information
NJLprograms committed Dec 6, 2020
1 parent 444d744 commit 7eb6f31
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 117 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,14 @@

public class Room {
private String roomName;
private List<Door> doors = new ArrayList<>();
private List<Window> windows = new ArrayList<>();
private List<Light> lights = new ArrayList<>();
private final List<Door> doors = new ArrayList<>();
private final List<Window> windows = new ArrayList<>();
private final List<Light> lights = new ArrayList<>();
private int blockedWindows;
private int blockedDoors;
private double temperature;
private boolean overridden;
private Zone zone;
private boolean bright = false;
private boolean canEnter = false;
private boolean windy = false;


public int getOpenLights() {
int count = 0;
Expand Down Expand Up @@ -59,21 +55,18 @@ public void setOpenLights(int lightsToOpen) {
for(int i = 0; i < lightsToOpen ; i++){
lights.get(i).turnOn();
}
isBright();
}

public void setOpenDoors(int doorsToOpen) {
for(int i = 0; i < doorsToOpen ; i++){
doors.get(i).open();
}
canEnter();
}

public void setOpenWindows(int windowsToOpen) {
for(int i = 0; i < windowsToOpen ; i++){
windows.get(i).open();
}
isWindy();
}

public int getClosedLights() {
Expand Down Expand Up @@ -114,21 +107,18 @@ public void setClosedLights(int lightsToClose) {
for(int i = 0; i < lightsToClose ; i++){
lights.get(i).turnOff();
}
isBright();
}

public void setClosedDoors(int doorsToClose) {
for(int i = 0; i < doorsToClose ; i++){
doors.get(i).close();
}
canEnter();
}

public void setClosedWindows(int windowsToClose) {
for(int i = 0; i < windowsToClose ; i++){
windows.get(i).close();
}
isWindy();
}


Expand Down Expand Up @@ -166,62 +156,6 @@ public void initLights(int numOfLights) {
public void setRoomName(String roomName) { this.roomName=roomName; }

public String getRoomName() { return this.roomName; }

public boolean canEnter() {

for(int i=0; i>=doors.size(); i++) {

if(doors.get(i).isOpen()) {
this.canEnter = true;
break;
}
}

return this.canEnter;

}

public boolean isWindy() {

for(int i=0; i>=windows.size(); i++) {
if(windows.get(i).isOpen()) {
this.windy = true;
break;
}
}
return this.windy;
}

public void isBright() {

for(int i=0; i>=lights.size(); i++) {
if(lights.get(i).isOn()) {
bright = true;
break;
}
}
}

public boolean findDoors() {
if (doors.size() == 0) {
return false;
}else
return true;
}

public boolean findLights() {
if (lights.size() == 0) {
return false;
}else
return true;
}

public boolean findWindows() {
if (windows.size() == 0) {
return false;
}else
return true;
}

public List<Window> getWindows() {
return this.windows;
Expand Down
97 changes: 49 additions & 48 deletions smart-home-simulator/src/main/resources/static/js/dashboard.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,43 +55,6 @@ window.onload = async function () {



initHouse = (houseData) => {

for ( i =0; i< Object.keys(houseData).length; i++){
let room = {}

let roomName = houseData[i].roomName
room.name = houseData[i].roomName

if(houseData[i].closedDoors >0){
room.hasDoors = true;
} else room.hasDoors = false;

if(houseData[i].openDoors > 0 || houseData[i].blockedDoors > 0 ){
room.isEnterable = true;
}else room.isEnterable = false;

if(houseData[i].closedWindows >0){
room.hasWindows = true;
} else room.hasWindows = false;

if(houseData[i].openWindows > 0 || houseData[i].blockedWindows > 0 ){
room.isWindy = true;
}else room.isWindy = false;

if(houseData[i].closedLights >0){
room.hasLights = true;
} else room.hasLights = false;

if(houseData[i].openLights > 0 ){
room.isBright = true;
}else room.isBright = false;

Vue.set(houseParameters.roomList, roomName, room);

}

}

function openModule(evt, modName) {
var i, tabcontent, tablinks;
Expand Down Expand Up @@ -122,11 +85,11 @@ function shcModule(evt, id){
evt.currentTarget.className += " active";
}

async function displayLayout() {

function displayLayout() {
let checkBox = document.getElementById("simSwitch")
let layout = document.getElementById("house-layout")

if (checkBox.checked == true) {
layout.style.display = "block";
}
Expand All @@ -146,10 +109,10 @@ async function editContext(e){
json.forEach((value, key) => object[key] = value);
const data = JSON.stringify(object)
const response = await fetch("/dashboard/context", {method: "POST", body: data, headers: {
"Content-Type": "application/json",
"Content-Type": "application/json",
}});
let responseData = await response.json();
dashboardContext.date = responseData.date;
let responseData = await response.json();
dashboardContext.date = responseData.date;
dashboardContext.time= responseData.time;
dashboardContext.layout= responseData.fileName;
dashboardContext.tempOut= responseData.tempOut;
Expand Down Expand Up @@ -341,12 +304,50 @@ async function addZone(e){
let object = {name: shhZone.name, setting: shhZone.setting, temperature: shhZone.temperature};

let data = JSON.stringify(object);

const response = await fetch("/dashboard/shhAddZone", {method: "POST", body: data, headers: {
"Content-Type": "application/json",
}});
let responseData = await response.json();
shhTab.zones = responseData;
shhRoom.zones = responseData;
}
let responseData = await response.json();
shhTab.zones = responseData;
shhRoom.zones = responseData;
}


initHouse = (houseData) => {

for ( i = 0; i < Object.keys(houseData).length; i++){

let room = {};

let roomName = houseData[i].roomName;
room.name = roomName;

if(houseData[i].closedDoors > 0 || houseData[i].openDoors > 0 || houseData[i].blockedDoors > 0){
room.hasDoors = true;
} else room.hasDoors = false;

if(houseData[i].openDoors > 0 || houseData[i].blockedDoors > 0 ){
room.isEnterable = true;
}else room.isEnterable = false;

if(houseData[i].closedWindows > 0 || houseData[i].openWindows > 0 || houseData[i].blockedWindows > 0){
room.hasWindows = true;
} else room.hasWindows = false;

if(houseData[i].openWindows > 0 || houseData[i].blockedWindows > 0){
room.isWindy = true;
}else room.isWindy = false;

if(houseData[i].closedLights > 0 || houseData[i].openLights > 0){
room.hasLights = true;
} else room.hasLights = false;

if(houseData[i].openLights > 0 ){
room.isBright = true;
}else room.isBright = false;

Vue.set(houseParameters.roomList, roomName, room);

}
}

0 comments on commit 7eb6f31

Please sign in to comment.