Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions paula/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>tutorial-java</artifactId>
<groupId>com.imalittletester</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>paula</artifactId>
<packaging>jar</packaging>

<name>paula</name>
<url>http://maven.apache.org</url>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>14</source>
<target>14</target>
</configuration>
</plugin>
</plugins>
</build>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
</dependencies>
</project>
139 changes: 139 additions & 0 deletions paula/src/main/java/com/imalittletester/Assessment/DataProcessor.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
package com.imalittletester.Assessment;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;

public class DataProcessor {

public UserData user;

public DataProcessor(UserData user) {
this.user = user;
}

//returneaza o lista cu toti pasii facuti astazi.
public List<String> listOfToday() {
String[] output;
List<String> listOfToday = new ArrayList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyddMM");
String date = LocalDateTime.now().format(formatter);

for (int i = 0; i < user.stepsWithTimestamp.size(); i++) {
output = user.stepsWithTimestamp.get(i).split("-");
if (date.equals(output[1].substring(0, 8))) {
listOfToday.add(user.stepsWithTimestamp.get(i));
}
}
return listOfToday;
}

// returneaza numarul total de pasi facuti astazi.
public int calculateNumberOfSteps() {
String[] output;
int numberofSteps = 0;

for (int i = 0; i < listOfToday().size(); i++) {
output = listOfToday().get(i).split("-");
numberofSteps += Integer.parseInt(output[0]);
}
return numberofSteps;
}


// returneaza distanta parcursa astazi
// in medie un pas reprezinta 70 cm = 0.0007 km
public double distanceUom() {
double distanceInKm = calculateNumberOfSteps() * 0.0007;
if (user.uomDistance.equalsIgnoreCase("km")) {
return distanceInKm;
} else return distanceInKm * 0.621371;
}

public double distanceUomLast7Days() {
String[] output;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyddMM");
int numberofStepsLast7Days = 0;
double distanceInKm;

for (int i = 0; i < user.stepsWithTimestamp.size(); i++) {
output = user.stepsWithTimestamp.get(i).split("-");
if (LocalDateTime.now().format(formatter).equals(output[1].substring(0, 8)) ||
LocalDateTime.now().minusDays(1).format(formatter).equals(output[1].substring(0, 8)) ||
LocalDateTime.now().minusDays(2).format(formatter).equals(output[1].substring(0, 8)) ||
LocalDateTime.now().minusDays(3).format(formatter).equals(output[1].substring(0, 8)) ||
LocalDateTime.now().minusDays(4).format(formatter).equals(output[1].substring(0, 8)) ||
LocalDateTime.now().minusDays(5).format(formatter).equals(output[1].substring(0, 8)) ||
LocalDateTime.now().minusDays(6).format(formatter).equals(output[1].substring(0, 8))) {
numberofStepsLast7Days += Integer.parseInt(output[0]);
}
}
distanceInKm = numberofStepsLast7Days * 0.0007;
if (user.uomDistance.equalsIgnoreCase("km")) {
return distanceInKm;
} else return distanceInKm * 0.621371;
}

// returneaza numarul total de calorii pierdute astazi.
public int calculateCalories() {
// Most people burn around 3 calories per 100 steps
int calories = 0;
int threshold = 100;
int contor = 0;
while (contor == 0) {
if (calculateNumberOfSteps() > threshold) {
threshold += 100;
calories += 3;
} else contor = 1;
}
return calories;
}

// returneaza numarul de alerte, in functie de ora de culcare si ora de trezire a user-ului
public int numberOfIdleAlerts() {
int idleAlerts = 0;
int awakeInt = user.wakeTime;
int sleepInt = user.sleepTime;
String awakeString;
String[] output;

if (user.sleepTime == 0) {
sleepInt = 24;
}
for (int i = 0; i < (sleepInt - user.wakeTime); i++) {
if (awakeInt < 10) {
awakeString = "0" + awakeInt;
} else awakeString = Integer.toString(awakeInt);
if (listOfToday().size() == 0) {
awakeInt++;
idleAlerts++;
}
for (int j = 0; j < listOfToday().size(); j++) {
output = listOfToday().get(j).split("-");
if (awakeString.equals(output[1].substring(8, 10))) {
awakeInt++;
break;
} else if (j == listOfToday().size() - 1) {
// System.out.println("nu s a gasit activitate la ora "+ awakeString);
awakeInt++;
idleAlerts++;
}
}
}
return idleAlerts;
}


public void display() {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy, HH:mm:ss");
System.out.println("Today's Date and Current Time " + LocalDateTime.now().format(formatter));
System.out.println("Total Steps for today: " + calculateNumberOfSteps());
System.out.println("Total Distance for today: " + String.format("%.2f", distanceUom()) + " " + user.uomDistance);
System.out.println("Total Calories Burned for today: " + calculateCalories());
System.out.println("Total Idle Alarms for today: " + numberOfIdleAlerts());
System.out.println("Total Distance for the Last 7 Days: " + String.format("%.2f", distanceUomLast7Days()) + " " + user.uomDistance);
}

}

30 changes: 30 additions & 0 deletions paula/src/main/java/com/imalittletester/Assessment/UserData.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.imalittletester.Assessment;

import java.util.List;

public class UserData {
int userPK;
String uomDistance;
List<String> stepsWithTimestamp;
int sleepTime;
int wakeTime;

public UserData(int userPK, String uomDistance, List<String> stepsWithTimestamp, int sleepTime, int wakeTime) {
this.userPK = userPK;
this.uomDistance = uomDistance;
this.stepsWithTimestamp = stepsWithTimestamp;
this.sleepTime = sleepTime;
this.wakeTime = wakeTime;
}

@Override
public String toString() {
return "UserData{" +
"userPK='" + userPK + '\'' +
", uomDistance='" + uomDistance + '\'' +
", stepsWithTimestamp=" + stepsWithTimestamp +
", sleepTime=" + sleepTime +
", wakeTime=" + wakeTime +
'}';
}
}
54 changes: 54 additions & 0 deletions paula/src/main/java/com/imalittletester/cookies/GarminCookie.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.imalittletester.cookies;

public class GarminCookie {

public String name;
public String value;
public String domain;
public String priority;
public int size;
public boolean httpOnly;
public boolean secure;

public GarminCookie() { }

public GarminCookie(String name, String value) {
this.name = name;
this.value = value;
}

public GarminCookie(String name, String value, String domain, String priority, int size, boolean httpOnly, boolean secure) {
this.name = name;
this.value = value;
this.domain = domain;
this.priority = priority;
this.size = size;
this.httpOnly = httpOnly;
this.secure = secure;
}

@Override
public String toString() {
return "GarminCookie{" +
"name='" + name + '\'' +
", value='" + value + '\'' +
", domain='" + domain + '\'' +
", priority='" + priority + '\'' +
", size=" + size +
", httpOnly=" + httpOnly +
", secure=" + secure +
'}';
}

public void displayCookieValues(){
System.out.println("The name of the cookie is: " + name);
System.out.println("The value of the cookie is: " + value);
System.out.println("The domain of the cookie is: " + domain);
System.out.println("The priority of the cookie is: " + priority);
System.out.println("The size of the cookie is: " + size);
}

public boolean isProvidedParamSubDomainOfDomain(String subdomain){
return domain.contains(subdomain);
}
}
60 changes: 60 additions & 0 deletions paula/src/main/java/com/imalittletester/jam/ApricotJam.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package com.imalittletester.jam;

public class ApricotJam extends Jam {
//public float apricotQty;
//public String apricotUom;
public Jar jar;

//method (alt insert)
public ApricotJam() {
}

public ApricotJam(String sweetener) {
super(sweetener);
}

public ApricotJam(String sweetener, float sweetenerQty, String sweetenerUom, Jar jar,
float fruitQty, String fruitUom) {
super(sweetener, sweetenerQty, sweetenerUom, "apricot", fruitQty, fruitUom); //super mereu pe prima linie
// didn't create a variable for fruit because it will always be "apricot" in this class

//this.apricotQty = apricotQty;
//this.apricotUom = apricotUom;
this.jar = jar;
}

@Override
public void makeJam() {
super.makeJam();
//System.out.println("Also adding " + apricotQty + " " + apricotUom + "of apricot");
System.out.println("Boiling for " + preparationTime() + " minutes");
}

private int preparationTime() {
return 35;
}

@Override
public String toString() {
return "ApricotJam{" +
"fruit='" + fruit + '\'' +
", jar=" + jar +
", sweetener='" + sweetener + '\'' +
", sweetenerQty=" + sweetenerQty +
", sweetenerUom='" + sweetenerUom + '\'' +
", isDietetic=" + isDietetic +
", fruit='" + fruit + '\'' +
", fruitQty=" + fruitQty +
", fruitUom='" + fruitUom + '\'' +
'}';
}


public int howManyFullJars(int jamQtyInGrams) {
return jamQtyInGrams / jar.jarCapacity;
}

public int remainderJam(int jamQtyInGrams) {
return jamQtyInGrams % jar.jarCapacity;
}
}
11 changes: 11 additions & 0 deletions paula/src/main/java/com/imalittletester/jam/Bottle.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.imalittletester.jam;

public class Bottle {
public int bottleQty;
public int bottleCapacity;

public Bottle(int bottleQty, int bottleCapacity) {
this.bottleQty = bottleQty;
this.bottleCapacity = bottleCapacity;
}
}
21 changes: 21 additions & 0 deletions paula/src/main/java/com/imalittletester/jam/HomeworkMethods.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.imalittletester.jam;

public class HomeworkMethods {
public boolean isProvidedDateTheLastDayOfMonth(String month, int day) {
if ((month.toLowerCase().matches("january|march|may|july|august|october|december") && day == 31)
|| (month.toLowerCase().matches("april|june|september|november") && day == 30)
|| (month.equalsIgnoreCase("february") && (day == 28 || day == 29)))
return true;
else return false;
}

public int numberOfNumbersThatDivideBySeven(int max) {
int contor = 0;
for (int i = 1; i < max+1; i++) {
if (i % 7 == 0)
contor++;
}
return contor;
}
}

Loading