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
10 changes: 10 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/lab-java-maven.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

39 changes: 39 additions & 0 deletions solution-lab-2.02-maven/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
.kotlin

### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr

### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

### VS Code ###
.vscode/

### Mac OS ###
.DS_Store
10 changes: 10 additions & 0 deletions solution-lab-2.02-maven/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions solution-lab-2.02-maven/.idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions solution-lab-2.02-maven/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions solution-lab-2.02-maven/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 28 additions & 0 deletions solution-lab-2.02-maven/order-data/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ironhack</groupId>
<artifactId>solution-lab-2.02-maven</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>

<artifactId>order-data</artifactId>

<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.13.2</version>
</dependency>
</dependencies>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.example.data;
import java.util.List;

public class Order {
private String orderId;
private String customer;
private List<OrderItem> items;
private double total;

public String getOrderId() { return orderId; }
public String getCustomer() { return customer; }
public List<OrderItem> getItems() { return items; }
public double getTotal() { return total; }
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.example.data;

public class OrderItem {
private String name;
private double price;

public String getName() { return name; }
public double getPrice() { return price; }
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.example.data;
import com.google.gson.Gson;

public class OrderProcessor {

public static Order parseOrderJson(String json) {
Gson gson = new Gson();
return gson.fromJson(json, Order.class);
}

public static void main(String[] args) {

String sampleJson = "{ \"orderId\": \"ORD-123\", \"customer\": \"Veli Aliyev\", \"items\": [ {\"name\": \"Notebook\", \"price\": 1500.0}, {\"name\": \"Mouse\", \"price\": 50.0} ], \"total\": 1550.0 }";

Order order = parseOrderJson(sampleJson);

System.out.println("=== ORDER DATA MODULE ===");
System.out.println("Order ID: " + order.getOrderId());
System.out.println("Customer: " + order.getCustomer());
System.out.println("Items: " + order.getItems().size());
}
}
28 changes: 28 additions & 0 deletions solution-lab-2.02-maven/order-logic/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ironhack</groupId>
<artifactId>solution-lab-2.02-maven</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>

<artifactId>order-logic</artifactId>

<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>com.ironhack</groupId>
<artifactId>order-data</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.example.logic;

import com.example.data.Order;
import com.example.data.OrderItem;
import com.example.data.OrderProcessor;

public class OrderCalculator {
public static void main(String[] args) {
String sampleJson = "{ \"orderId\": \"ORD-123\", \"customer\": \"Veli Aliyev\", \"items\": [ {\"name\": \"Notebook\", \"price\": 1500.0}, {\"name\": \"Mouse\", \"price\": 50.0} ], \"total\": 1550.0 }";

Order order = OrderProcessor.parseOrderJson(sampleJson);

System.out.println("=== ORDER LOGIC MODULE ===");
System.out.println("Order Tracking: " + order.getOrderId());

double calculatedTotal = 0;
for (OrderItem item : order.getItems()) {
calculatedTotal += item.getPrice();
}

System.out.println("Total from JSON: " + order.getTotal());
System.out.println("Calculated Total: " + calculatedTotal);

if (Double.compare(calculatedTotal, order.getTotal()) == 0) {
System.out.println("Result: Correct!");
} else {
System.out.println("Result: Error!");
}
}
}
31 changes: 31 additions & 0 deletions solution-lab-2.02-maven/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<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">
<modelVersion>4.0.0</modelVersion>

<groupId>com.ironhack</groupId>
<artifactId>solution-lab-2.02-maven</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>order-data</module>
<module>order-logic</module>
</modules>

<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.13.2</version>
<scope>compile</scope>
</dependency>
</dependencies>

</project>