Merge branch 'johannes2' of Studium/Internet-Technologien into master
This commit is contained in:
commit
7d135725ff
|
@ -1,3 +1,4 @@
|
||||||
*.iml
|
*.iml
|
||||||
/target
|
/target
|
||||||
.idea
|
.idea
|
||||||
|
config.json
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"database": {
|
||||||
|
"hostname": "localhost",
|
||||||
|
"port": 3306,
|
||||||
|
"database": "itech",
|
||||||
|
"username": "itech",
|
||||||
|
"password": "123456"
|
||||||
|
}
|
||||||
|
}
|
1
pom.xml
1
pom.xml
|
@ -137,6 +137,7 @@
|
||||||
<minimumTokens>100</minimumTokens>
|
<minimumTokens>100</minimumTokens>
|
||||||
<sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
|
<sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
|
||||||
<printFailingErrors>true</printFailingErrors>
|
<printFailingErrors>true</printFailingErrors>
|
||||||
|
<failOnViolation>false</failOnViolation>
|
||||||
</configuration>
|
</configuration>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
package de.hsel.itech.config;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.ToString;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileReader;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
*/
|
||||||
|
|
||||||
|
@ToString
|
||||||
|
@EqualsAndHashCode
|
||||||
|
public class Configuration {
|
||||||
|
|
||||||
|
private static final String filename = "config.json";
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private Database database;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static Configuration get() {
|
||||||
|
Gson gson = new Gson();
|
||||||
|
|
||||||
|
FileReader reader = null;
|
||||||
|
try {
|
||||||
|
reader = new FileReader(new File(filename));
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
assert reader != null;
|
||||||
|
return gson.fromJson(reader, Configuration.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
package de.hsel.itech.config;
|
||||||
|
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.ToString;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@ToString
|
||||||
|
@EqualsAndHashCode
|
||||||
|
public class Database {
|
||||||
|
|
||||||
|
String hostname;
|
||||||
|
int port;
|
||||||
|
String database;
|
||||||
|
String username;
|
||||||
|
String password;
|
||||||
|
}
|
|
@ -0,0 +1,57 @@
|
||||||
|
package de.hsel.itech.db;
|
||||||
|
|
||||||
|
import de.hsel.itech.config.Configuration;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.sql.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
*/
|
||||||
|
public class Database {
|
||||||
|
|
||||||
|
public Database() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
private Connection getConnection() {
|
||||||
|
Configuration config = Configuration.get();
|
||||||
|
try {
|
||||||
|
return DriverManager.getConnection("jdbc:mariadb://" + config.getDatabase().getHostname() + ":" + config.getDatabase().getPort() + "/" + config.getDatabase().getDatabase(), config.getDatabase().getUsername(), config.getDatabase().getPassword());
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHello() {
|
||||||
|
Connection connection = getConnection();
|
||||||
|
|
||||||
|
String hello = "";
|
||||||
|
try {
|
||||||
|
assert connection != null;
|
||||||
|
PreparedStatement statement = connection.prepareStatement("SELECT * FROM test WHERE id = 1");
|
||||||
|
ResultSet resultSet = statement.executeQuery();
|
||||||
|
resultSet.next();
|
||||||
|
hello = resultSet.getString("hello");
|
||||||
|
|
||||||
|
connection.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return hello;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
package de.hsel.itech.db.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class Address {
|
||||||
|
|
||||||
|
private Customer customer;
|
||||||
|
private long id;
|
||||||
|
private String name;
|
||||||
|
private String street;
|
||||||
|
private String number;
|
||||||
|
private int zipCode;
|
||||||
|
private String city;
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
package de.hsel.itech.db.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class Author {
|
||||||
|
|
||||||
|
private long id;
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
package de.hsel.itech.db.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.Year;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class Book {
|
||||||
|
|
||||||
|
private int isbn;
|
||||||
|
private Author author;
|
||||||
|
private Publisher publisher;
|
||||||
|
private Category category;
|
||||||
|
private String title;
|
||||||
|
private Year year;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* saved in cents
|
||||||
|
*/
|
||||||
|
private int price;
|
||||||
|
private String description;
|
||||||
|
private String image;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
package de.hsel.itech.db.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class Category {
|
||||||
|
|
||||||
|
private int id;
|
||||||
|
private String name;
|
||||||
|
private String image;
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
package de.hsel.itech.db.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
**/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class CreditCardPayment {
|
||||||
|
|
||||||
|
private long id;
|
||||||
|
private Customer customer;
|
||||||
|
private int number;
|
||||||
|
private String owner;
|
||||||
|
private LocalDate expiration;
|
||||||
|
private int checksum;
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
package de.hsel.itech.db.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class Customer {
|
||||||
|
|
||||||
|
private long id;
|
||||||
|
private String email;
|
||||||
|
private String name;
|
||||||
|
private String password;
|
||||||
|
private boolean admin;
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
package de.hsel.itech.db.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
**/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class DebitCardPayment {
|
||||||
|
|
||||||
|
private long id;
|
||||||
|
private Customer customer;
|
||||||
|
private String iban;
|
||||||
|
private String bic;
|
||||||
|
private String owner;
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
package de.hsel.itech.db.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
**/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class InvoicePayment {
|
||||||
|
|
||||||
|
private long id;
|
||||||
|
private Customer customer;
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
package de.hsel.itech.db.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
**/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class Order {
|
||||||
|
|
||||||
|
private long id;
|
||||||
|
private LocalDateTime date;
|
||||||
|
private Book book;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* price in cents
|
||||||
|
*/
|
||||||
|
private int price;
|
||||||
|
private PaymentType paymentType;
|
||||||
|
private Address address;
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
package de.hsel.itech.db.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
**/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class PayPalPayment {
|
||||||
|
|
||||||
|
private long id;
|
||||||
|
private Customer customer;
|
||||||
|
private String email;
|
||||||
|
private String authCode;
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
package de.hsel.itech.db.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
**/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class PaymentType {
|
||||||
|
|
||||||
|
private long id;
|
||||||
|
private String name;
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
package de.hsel.itech.db.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class Publisher {
|
||||||
|
|
||||||
|
private long id;
|
||||||
|
private String name;
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
package de.hsel.itech.db.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
**/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ShoppingCart {
|
||||||
|
|
||||||
|
private long id;
|
||||||
|
private Customer customer;
|
||||||
|
private Book article;
|
||||||
|
private int count;
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
package de.hsel.itech.servlet;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServlet;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Johannes Theiner
|
||||||
|
* @version 0.1
|
||||||
|
* @since 0.1
|
||||||
|
**/
|
||||||
|
public class Database extends HttpServlet {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 15679036734L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* doGet.
|
||||||
|
*
|
||||||
|
* @param req Request
|
||||||
|
* @param resp Response
|
||||||
|
* @throws IOException failed
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void doGet(final HttpServletRequest req, final HttpServletResponse resp)
|
||||||
|
throws IOException {
|
||||||
|
|
||||||
|
resp.setContentType("text/html");
|
||||||
|
final PrintWriter out = resp.getWriter();
|
||||||
|
out.println("<html>");
|
||||||
|
out.println("<head>");
|
||||||
|
out.println("<title>Hallo Welt!</title>");
|
||||||
|
out.println("</head>");
|
||||||
|
out.println("<body>");
|
||||||
|
out.println("<h1>" + new de.hsel.itech.db.Database().getHello() + "</h1>");
|
||||||
|
out.println("</body>");
|
||||||
|
out.println("</html>");
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,8 +1,9 @@
|
||||||
package de.hsel.itech;
|
package de.hsel.itech.servlet;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServlet;
|
import javax.servlet.http.HttpServlet;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
|
|
||||||
|
@ -30,12 +31,15 @@ public class HelloWorld extends HttpServlet {
|
||||||
|
|
||||||
resp.setContentType("text/html");
|
resp.setContentType("text/html");
|
||||||
final PrintWriter out = resp.getWriter();
|
final PrintWriter out = resp.getWriter();
|
||||||
|
out.println("<!DOCTYPE html>");
|
||||||
out.println("<html>");
|
out.println("<html>");
|
||||||
out.println("<head>");
|
out.println("<head>");
|
||||||
out.println("<title>Hallo Welt!</title>");
|
out.println("<title>Hallo Welt!</title>");
|
||||||
out.println("</head>");
|
out.println("</head>");
|
||||||
out.println("<body>");
|
out.println("<body>");
|
||||||
out.println("<h1>Hallo Ostfriesland!</h1>");
|
out.println("<h1>Hallo Ostfriesland!</h1><br>");
|
||||||
|
out.println("<h3>" + System.getProperty("catalina.base") + "</h3><br>");
|
||||||
|
out.println("<h4>" + new File("").getAbsolutePath() + "</h4>");
|
||||||
out.println("</body>");
|
out.println("</body>");
|
||||||
out.println("</html>");
|
out.println("</html>");
|
||||||
}
|
}
|
|
@ -7,11 +7,21 @@
|
||||||
<web-app>
|
<web-app>
|
||||||
<servlet>
|
<servlet>
|
||||||
<servlet-name>helloWorld</servlet-name>
|
<servlet-name>helloWorld</servlet-name>
|
||||||
<servlet-class>de.hsel.itech.HelloWorld</servlet-class>
|
<servlet-class>de.hsel.itech.servlet.HelloWorld</servlet-class>
|
||||||
|
</servlet>
|
||||||
|
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>database</servlet-name>
|
||||||
|
<servlet-class>de.hsel.itech.servlet.Database</servlet-class>
|
||||||
</servlet>
|
</servlet>
|
||||||
|
|
||||||
<servlet-mapping>
|
<servlet-mapping>
|
||||||
<servlet-name>helloWorld</servlet-name>
|
<servlet-name>helloWorld</servlet-name>
|
||||||
<url-pattern>/index</url-pattern>
|
<url-pattern>/index</url-pattern>
|
||||||
</servlet-mapping>
|
</servlet-mapping>
|
||||||
|
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>database</servlet-name>
|
||||||
|
<url-pattern>/db</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
</web-app>
|
</web-app>
|
Loading…
Reference in New Issue