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
87 changes: 87 additions & 0 deletions LegoHouseDB.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
CREATE DATABASE IF NOT EXISTS `LegoDB` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `LegoDB`;
-- MySQL dump 10.16 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64)
--
-- Host: localhost Database: LegoDB
-- ------------------------------------------------------
-- Server version 5.7.21-0ubuntu0.16.04.1

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `Orders`
--

DROP TABLE IF EXISTS `Orders`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `Orders` (
`Order_Id` int(11) NOT NULL AUTO_INCREMENT,
`Length` int(11) NOT NULL,
`Width` int(11) NOT NULL,
`Height` int(11) NOT NULL,
`User_Id` int(11) NOT NULL,
`Status` varchar(15) NOT NULL DEFAULT 'Pending',
PRIMARY KEY (`Order_Id`),
UNIQUE KEY `Orders_UNIQUE` (`Order_Id`),
KEY `fk_Users_idx` (`User_Id`),
CONSTRAINT `fk_Users_Id` FOREIGN KEY (`User_Id`) REFERENCES `Users` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `Orders`
--

LOCK TABLES `Orders` WRITE;
/*!40000 ALTER TABLE `Orders` DISABLE KEYS */;
INSERT INTO `Orders` VALUES (1,10,10,10,1,'Afsendt'),(2,20,20,20,1,'Afsendt'),(3,30,30,30,2,'Afsendt'),(21,20,25,10,1,'Pending'),(22,23,34,5,1,'Afsendt'),(23,40,30,10,6,'Pending'),(24,20,15,15,1,'Pending');
/*!40000 ALTER TABLE `Orders` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `Users`
--

DROP TABLE IF EXISTS `Users`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `Users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(90) NOT NULL,
`password` varchar(45) NOT NULL,
`role` varchar(20) NOT NULL DEFAULT 'customer',
PRIMARY KEY (`id`),
UNIQUE KEY `email_UNIQUE` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `Users`
--

LOCK TABLES `Users` WRITE;
/*!40000 ALTER TABLE `Users` DISABLE KEYS */;
INSERT INTO `Users` VALUES (1,'jens@somewhere.com','jensen','customer'),(2,'ken@somewhere.com','kensen','customer'),(3,'robin@somewhere.com','batman','employee'),(4,'someone@nowhere.com','sesam','customer'),(6,'muller4681@hotmail.com','246Hjalmar','customer');
/*!40000 ALTER TABLE `Users` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2018-03-27 17:24:23
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
<modelVersion>4.0.0</modelVersion>

<groupId>kasper.osterbye</groupId>
<artifactId>LogInSample</artifactId>
<artifactId>LegoHouse</artifactId>
<version>0.1-Test</version>
<packaging>war</packaging>

<name>LogInSample</name>
<name>LegoHouse</name>

<properties>
<endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
Expand Down
7 changes: 4 additions & 3 deletions src/main/java/DBAccess/Connector.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@
*/
public class Connector {

private static final String URL = "jdbc:mysql://46.101.253.149:3306/useradmin";
private static final String USERNAME = "doorkeeper";
private static final String PASSWORD = "bank3*andyouarein";
//private static final String URL = "jdbc:mysql://46.101.253.149:3306/useradmin";
private static final String URL = "jdbc:mysql://138.68.103.105:3306/LegoDB?autoReconnect=true&serverTimezone=CET";
private static final String USERNAME = "legoboi";
private static final String PASSWORD = "lego";

private static Connection singleton;

Expand Down
127 changes: 127 additions & 0 deletions src/main/java/DBAccess/OrderMapper.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package DBAccess;

import FunctionLayer.LoginSampleException;
import FunctionLayer.OrderEntity;
import FunctionLayer.OrderException;
import FunctionLayer.User;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

/**
*
* @author juanni420
*/
public class OrderMapper {

public static ArrayList<OrderEntity> getOrders(int userId) throws OrderException {
ArrayList<OrderEntity> orderList = new ArrayList<>();
try {
Connection con = Connector.connection();
String SQL = "SELECT Orders.Order_Id, Orders.Length, Orders.Width, "
+ "Orders.Height, Orders.Status FROM LegoDB.Orders"
+ " inner join LegoDB.Users on LegoDB.Orders.User_Id = LegoDB.Users.id "
+ "where Orders.User_Id =? order by Orders.Order_Id";
PreparedStatement ps = con.prepareStatement(SQL);
ps.setInt(1, userId);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
int id = rs.getInt("Order_Id");
int length = rs.getInt("length");
int width = rs.getInt("width");
int height = rs.getInt("height");
String status = rs.getString("status");
OrderEntity order = new OrderEntity(id, height, length, width, status);
orderList.add(order);
}
return orderList;
} catch (ClassNotFoundException | SQLException ex) {
throw new OrderException(ex.getMessage());
}
}

public static ArrayList<OrderEntity> getEmployeeOrders() throws OrderException {
ArrayList<OrderEntity> orderList = new ArrayList<>();
try {
Connection con = Connector.connection();
String SQL = "SELECT Orders.Order_Id, Orders.Height, Orders.Length, "
+ "Orders.Width, Orders.Status, Users.email FROM LegoDB.Orders"
+ " inner join LegoDB.Users on LegoDB.Orders.User_Id = LegoDB.Users.id order by Orders.Order_Id;";
PreparedStatement ps = con.prepareStatement(SQL);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
int id = rs.getInt("Order_Id");
int width = rs.getInt("width");
int length = rs.getInt("length");
int height = rs.getInt("height");
String status = rs.getString("status");
String email = rs.getString("email");
OrderEntity order = new OrderEntity(id, height, length, width, status, email);
orderList.add(order);
}
return orderList;
} catch (ClassNotFoundException | SQLException ex) {
throw new OrderException(ex.getMessage());
}
}

public static OrderEntity getOrder(int orderId) throws OrderException {
OrderEntity order = null;
try {
Connection con = Connector.connection();
String SQL = "SELECT Orders.Order_Id, Orders.Length, Orders.Width, "
+ "Orders.Height FROM LegoDB.Orders where Orders.Order_Id =?;";
PreparedStatement ps = con.prepareStatement(SQL);
ps.setInt(1, orderId);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
int length = rs.getInt("length");
int width = rs.getInt("width");
int height = rs.getInt("height");
order = new OrderEntity(height, length, width);
}
return order;
} catch (ClassNotFoundException | SQLException ex) {
throw new OrderException(ex.getMessage());
}
}

public static boolean changeStatus(int orderId) throws OrderException {
try {
Connection con = Connector.connection();
String SQL = "UPDATE LegoDB.Orders SET Orders.status = 'Afsendt' "
+ "where Orders.Order_Id =?";
PreparedStatement ps = con.prepareStatement(SQL);
ps.setInt(1, orderId);
ps.executeUpdate();
return true;
} catch (ClassNotFoundException | SQLException ex) {
throw new OrderException(ex.getMessage());
}
}

public static boolean createOrder(int width, int length, int height, int userId) throws OrderException {
try {
Connection con = Connector.connection();
String SQL = "INSERT INTO Orders (length, width, height, user_id) VALUES (?, ?, ?, ?)";
PreparedStatement ps = con.prepareStatement(SQL);
ps.setInt(1, length);
ps.setInt(2, width);
ps.setInt(3, height);
ps.setInt(4, userId);
ps.executeUpdate();
return true;
} catch (ClassNotFoundException | SQLException ex) {
throw new OrderException(ex.getMessage());
}
}

}
12 changes: 6 additions & 6 deletions src/main/java/DBAccess/dbInit.sql
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
CREATE DATABASE IF NOT EXISTS `useradmin`;
CREATE DATABASE IF NOT EXISTS `LegoDB`;


USE `useradmin`;
USE `LegoDB`;

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(90) NOT NULL,
`password` varchar(45) NOT NULL,
Expand All @@ -13,8 +13,8 @@ CREATE TABLE `user` (
UNIQUE KEY `email_UNIQUE` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

LOCK TABLES `user` WRITE;
INSERT INTO `user` VALUES
LOCK TABLES `users` WRITE;
INSERT INTO `users` VALUES
(1,'jens@somewhere.com','jensen','customer'),
(2,'ken@somewhere.com','kensen','customer'),
(3,'robin@somewhere.com','batman','employee');
Expand Down
64 changes: 64 additions & 0 deletions src/main/java/FunctionLayer/Brick.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package FunctionLayer;

/**
*
* @author juanni420
*/
public class Brick {

int width,length, height;
String name;

public Brick(int x, int y, String name) {
this.width = x;
this.length = y;
this.name = name;
}

public Brick(int width, int length, int height, String name) {
this.width = width;
this.length = length;
this.height = height;
this.name = name;
}

public int getWidth() {
return width;
}

public void setWidth(int width) {
this.width = width;
}

public int getLength() {
return length;
}

public void setLength(int length) {
this.length = length;
}

public int getHeight() {
return height;
}

public void setHeight(int height) {
this.height = height;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}



}
Loading