diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fc60410 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +target +.idea +app.iml \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..d0ac2a6 --- /dev/null +++ b/pom.xml @@ -0,0 +1,32 @@ + + 4.0.0 + app + app + jar + 1 + + + org.springframework.boot + spring-boot-starter-parent + 1.5.2.RELEASE + + + + + org.springframework.boot + spring-boot-starter-web + + + + 1.8 + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/src/main/java/app/Calculator.java b/src/main/java/app/Calculator.java new file mode 100644 index 0000000..aea48e2 --- /dev/null +++ b/src/main/java/app/Calculator.java @@ -0,0 +1,6 @@ +package app; + +public interface Calculator{ + public void increment(); + public double sum(); +} \ No newline at end of file diff --git a/src/main/java/app/Fruit.java b/src/main/java/app/Fruit.java new file mode 100644 index 0000000..59c6004 --- /dev/null +++ b/src/main/java/app/Fruit.java @@ -0,0 +1,35 @@ +package app; + +public class Fruit implements Calculator{ + + int amount; + double price; + String name; + public Fruit(String name, int amount, double price){ + + this.name = name; + this.amount = amount; + this.price = price; + + } + public void increment(){ + + this.amount = this.amount+1; + + } + public double sum(){ + + return this.amount*price; + + } + public String getName(){ + + return this.name; + } + public String toString(){ + + return "Number of "+name+"s: "+this.amount+". Price for one: "+price+". Sum: "+sum(); + + } + +} \ No newline at end of file diff --git a/src/main/java/app/Main.java b/src/main/java/app/Main.java new file mode 100644 index 0000000..ea3fb37 --- /dev/null +++ b/src/main/java/app/Main.java @@ -0,0 +1,50 @@ +package app; + +import java.util.*; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@SpringBootApplication +@RestController +public class Main{ + + + Fruit apple = new Fruit("Apple", 1, 3); + Fruit banana = new Fruit("Banana", 1, 2); + + List fruits = new ArrayList(){{ + add(apple); + add(banana); + }}; + + @RequestMapping("/increment") + public String increment(String fruit){ + + for(Fruit f: fruits){ + if(f.getName().equals(fruit)){ + f.increment(); + return f.toString(); + } + } + return "error"; + } + + @RequestMapping("/sum") + public String calculateSum(String fruit){ + + for(Fruit f: fruits){ + if(f.getName().equals(fruit)){ + return "Sum: "+f.sum(); + } + } + return "Error"; + } + + public static void main(String[] args){ + + SpringApplication.run(Main.class, args); + + } +} \ No newline at end of file diff --git a/src/main/java/app/calculator.java b/src/main/java/app/calculator.java new file mode 100644 index 0000000..aea48e2 --- /dev/null +++ b/src/main/java/app/calculator.java @@ -0,0 +1,6 @@ +package app; + +public interface Calculator{ + public void increment(); + public double sum(); +} \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..839ca75 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1 @@ +server.port = 8080 \ No newline at end of file diff --git a/src/main/resources/public/home.html b/src/main/resources/public/home.html new file mode 100644 index 0000000..56615ec --- /dev/null +++ b/src/main/resources/public/home.html @@ -0,0 +1,36 @@ + + +Calculator + + + + + + + + + + + +
+ + \ No newline at end of file