3 Commits
0.1.1 ... 0.1.4

12 changed files with 616 additions and 400 deletions

View File

@ -60,15 +60,7 @@ public class Card {
*/ */
private ElementTyp stringToElementType(String elementTypeString){ private ElementTyp stringToElementType(String elementTypeString){
for (ElementTyp e : ElementTyp.values()) { for (ElementTyp e : ElementTyp.values()) {
System.out.println(e.toString().toLowerCase());
System.out.println(elementTypeString.toLowerCase().contains(e.name().toLowerCase()));
if (elementTypeString.toLowerCase().contains(e.name().toLowerCase())) { if (elementTypeString.toLowerCase().contains(e.name().toLowerCase())) {
System.out.println("\n\n\n");
System.out.println("####Element####, me.name() : elementTypeString");
System.out.println(e.name().toLowerCase());
System.out.print(" : ");
System.out.println(elementTypeString.toLowerCase());
System.out.println("\n\n\n");
return e; return e;
} }
} }
@ -81,20 +73,8 @@ public class Card {
* @return Passender Card Type oder null falls nicht gefunden * @return Passender Card Type oder null falls nicht gefunden
*/ */
private CardType stringToCardType(String cardTypeString){ private CardType stringToCardType(String cardTypeString){
System.out.println("\n\n\n");
System.out.println("###CARD###, me.name() : cardTypeString\n");
for (CardType me : CardType.values()) { for (CardType me : CardType.values()) {
System.out.println("\n\n\n");
System.out.print(me.name().toLowerCase());
System.out.print(" : ");
System.out.println(cardTypeString.toLowerCase());
System.out.println("\n\n\n");
if (cardTypeString.toLowerCase().contains(me.toString().toLowerCase())) { if (cardTypeString.toLowerCase().contains(me.toString().toLowerCase())) {
System.out.println("\n\n\n");
System.out.print(me.name().toLowerCase());
System.out.print(" : ");
System.out.println(cardTypeString.toLowerCase());
System.out.println("\n\n\n");
return me; return me;
} }
} }

View File

@ -1,19 +1,25 @@
package at.reisinger; package at.reisinger;
import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
/** /**
* Verwaltet eine Liste vo at.reisinger.Cards * Verwaltet eine Liste vo at.reisinger.Cards
*/ */
@JsonAutoDetect
public class Cards { public class Cards {
@JsonDeserialize(as = ArrayList.class, contentAs = Card.class)
private ArrayList<Card> cards; private ArrayList<Card> cards;
/** /**
* Erstellt ein nues obj mit gegebenen Karten * Erstellt ein nues obj mit gegebenen Karten
* @param cardsArrayList Die at.reisinger.Cards zum erstellen des Obj * @param cardsArrayList Die at.reisinger.Cards zum erstellen des Obj
*/ */
public Cards(ArrayList<Card> cardsArrayList) { @JsonCreator
public Cards(@JsonProperty("cards") ArrayList<Card> cardsArrayList) {
this.cards = cardsArrayList; this.cards = cardsArrayList;
} }
@ -23,6 +29,7 @@ public class Cards {
* Fügt eine neue at.reisinger.Card hinzu * Fügt eine neue at.reisinger.Card hinzu
* @param newCard neue at.reisinger.Card * @param newCard neue at.reisinger.Card
*/ */
@JsonSetter
public void addCard(Card newCard) { public void addCard(Card newCard) {
this.cards.add(newCard); this.cards.add(newCard);
} }
@ -31,6 +38,7 @@ public class Cards {
* Holt alle at.reisinger.Cards * Holt alle at.reisinger.Cards
* @return Alle at.reisinger.Cards * @return Alle at.reisinger.Cards
*/ */
@JsonGetter
public ArrayList<Card> getCards() { public ArrayList<Card> getCards() {
return this.cards; return this.cards;
} }

View File

@ -1,5 +1,7 @@
package at.reisinger; package at.reisinger;
import at.reisinger.server.helper.PostgresHelper;
import java.sql.*; import java.sql.*;
import java.util.ArrayList; import java.util.ArrayList;
@ -8,102 +10,155 @@ import java.util.ArrayList;
* Die "Datenbank" sind hier nur beispieldaten. * Die "Datenbank" sind hier nur beispieldaten.
*/ */
public class DBConnection { public class DBConnection {
private ArrayList<TradingDeal> tradingDeals; //private ArrayList<TradingDeal> tradingDeals;
private ArrayList<Package> packages; //private ArrayList<Package> packages;
private Connection c; private Connection c;
private Statement stmt; private Statement stmt;
private Connection con() {
this.c = null;
try {
Class.forName("org.postgresql.Driver");
this.c = DriverManager
.getConnection("jdbc:postgresql://postgres.dergeorg.at:5432/mtcg",
"user", "user");
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
return c;
}
/** /**
* Erstellt alle Beispieldaten und simuliert somit den * Erstellt alle Beispieldaten und simuliert somit den
* Verbindungsaufbau zu einer DB * Verbindungsaufbau zu einer DB
*/ */
public DBConnection() { public DBConnection() {
this.c = con(); this.c = PostgresHelper.con();
} }
/** /**
* Erstellt alle Tabellen die für den Betrieb der Software bennötigt werden * Erstellt alle Tabellen die für den Betrieb der Software bennötigt werden
*
* @throws SQLException
*/ */
public void init() { public void init() {
this.c = con(); PostgresHelper.executeUpdateMessage("CREATE TABLE IF NOT EXISTS USERS (username TEXT PRIMARY KEY NOT NULL, nachname TEXT NOT NULL, email TEXT NOT NULL, password TEXT NOT NULL, bio TEXT, image TEXT, coins integer default 20 not null)", "User Table created");
try { PostgresHelper.executeUpdate("CREATE TABLE IF NOT EXISTS CARD(NAME TEXT not null,DAMAGE FLOAT not null,ELEMENTTYP TEXT not null,CARDTYPE TEXT not null, PRIMARY KEY (\"name\"));");
stmt = this.c.createStatement(); PostgresHelper.executeUpdateMessage("create unique index IF NOT EXISTS card_name_uindex on CARD (NAME);", "Card Table created");
String sql = "CREATE TABLE IF NOT EXISTS USERS " + PostgresHelper.executeUpdateMessage("create table IF NOT EXISTS package(\"ID\" varchar(255) not null,name varchar(255) not null constraint name references card, i serial not null constraint package_i primary key );", "Package Table created");
"(username TEXT PRIMARY KEY NOT NULL," + PostgresHelper.executeUpdateMessage("create table IF NOT EXISTS user_cards(username TEXT not null constraint user_cards_users_username_fk references users,name text not null, gesperrt boolean not null);", "UserCards Table created");
" nachname TEXT NOT NULL, " +
" email TEXT NOT NULL, " +
" password TEXT NOT NULL)";
stmt.executeUpdate(sql);
stmt.close();
this.c.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
} }
System.out.println("User Table created");
this.c = con(); /**
try { * Holt ein Random package aus dem Shop
stmt = this.c.createStatement(); *
String sql = "CREATE TABLE IF NOT EXISTS CARD(NAME TEXT not null,DAMAGE FLOAT not null,ELEMENTTYP TEXT not null,CARDTYPE TEXT not null, PRIMARY KEY (\"name\"));"; * @param username User der das Package haben möchte
stmt.executeUpdate(sql); * @return Das Package aus dem Shop, null falls ein Fehler auftritt
stmt.close(); */
this.c.close(); public Package userAcquirePackage(String username) {
} catch (Exception e) { int coins = checkCoins(username);
System.err.println(e.getClass().getName() + ": " + e.getMessage()); if (!(coins - 5 >= 0)) {
System.exit(0); return null;
} }
this.c = con(); updateCoins(coins - 5, username);
try {
stmt = this.c.createStatement();
String sql = "create unique index IF NOT EXISTS card_name_uindex on CARD (NAME);";
stmt.executeUpdate(sql);
stmt.close();
this.c.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
System.out.println("Card Table created");
this.c = con(); this.c = PostgresHelper.con();
String id = "";
try { try {
stmt = this.c.createStatement(); stmt = this.c.createStatement();
String sql = "create table IF NOT EXISTS package" + ResultSet rs = stmt.executeQuery("select \"ID\" as id from package LIMIT 1;");
"(" + while (rs.next()) {
" \"ID\" varchar(255) not null," + id = rs.getString("id");
" name varchar(255) not null" + }
" constraint name" + rs.close();
" references card," +
" i serial not null" +
" constraint package_i" +
" primary key" +
");";
stmt.executeUpdate(sql);
stmt.close(); stmt.close();
this.c.close(); this.c.close();
} catch (Exception e) { } catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage()); System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0); return null;
} }
System.out.println("Package Table created"); System.out.println("Package selected successfully");
this.c = PostgresHelper.con();
String packagename = "", cardname = "", elementtyp = "", cardtype = "";
int zeilennummer = 0, damage = 0;
Cards cards = new Cards(new ArrayList<Card>());
try {
stmt = this.c.createStatement();
ResultSet rs = stmt.executeQuery("select i as zeilennummer, package.\"ID\" as id, package.name as packagename, c.name as cardname, c.DAMAGE as damage, c.ELEMENTTYP as elementtyp, c.CARDTYPE as cardtype from package join card c on c.name = package.name where \"ID\" = \'" + id + "\';");
int count = 0;
while (rs.next()) {
System.out.println(count++);
zeilennummer = rs.getInt("zeilennummer");
id = rs.getString("id");
packagename = rs.getString("packagename");
cardname = rs.getString("cardname");
elementtyp = rs.getString("elementtyp");
cardtype = rs.getString("cardtype");
damage = rs.getInt("damage");
Card newCard = new Card(cardname, elementtyp + cardtype, damage);
cards.addCard(newCard);
Connection b = PostgresHelper.con();
try {
stmt = b.createStatement();
String sql = "INSERT INTO public.user_cards (username, name, gesperrt) VALUES ( \'" + username + "\',\'" + newCard.getName() + "\', \'false\');";
stmt.executeUpdate(sql);
stmt.close();
b.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
return null;
}
System.out.println("User got Card successfully");
}
rs.close();
stmt.close();
this.c.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
return null;
}
System.out.println("Package pulled successfully");
deletePackage(id);
if (cards.getCards().size() != 0 && cards != null) {
return new Package(cards, packagename, 5);
} else {
return null;
}
}
/**
* Löscht ein Package anhand des Namens
*
* @param name Name des Packages das gelöscht werden soll
* @return True bei erfolg, sonst false
*/
public boolean deletePackage(String name) {
return PostgresHelper.executeUpdateMessage("DELETE FROM package WHERE \"ID\" = \'" + name + "\';", "Package deleted successfully");
}
/**
* Coins setzten
*
* @param coins Anzahl die zu setzten ist
* @return True bei erfolg, sonst false
*/
public boolean updateCoins(int coins, String username) {
return PostgresHelper.executeUpdateMessage("UPDATE users SET coins = " + coins + " WHERE username = \'" + username + "\';", "Coins Updated");
}
/**
* Gibt die Anzahl an verfügbaren coins zurück
*
* @return Anzahl der Coins, -1 ist error
*/
public int checkCoins(String username) {
System.out.println("Check coin start");
this.c = PostgresHelper.con();
int coins = 0;
try {
stmt = this.c.createStatement();
ResultSet rs = stmt.executeQuery("Select coins from users where username = \'" + username + "\';");
while (rs.next()) {
coins = rs.getInt("coins");
}
rs.close();
stmt.close();
this.c.close();
} catch (Exception e) {
System.out.println("check soin error");
System.err.println(e.getClass().getName() + ": " + e.getMessage());
return -1;
}
System.out.println("\nCoins: " + coins);
return coins;
} }
/** /**
@ -113,15 +168,13 @@ public class DBConnection {
* @return True falls die Karte bereits existiert * @return True falls die Karte bereits existiert
*/ */
public boolean cardExists(String name) { public boolean cardExists(String name) {
this.c = con(); this.c = PostgresHelper.con();
int count = 0; int count = 0;
try { try {
stmt = this.c.createStatement(); stmt = this.c.createStatement();
ResultSet rs = stmt.executeQuery("select count(*) from card where name = \'" + name + "\';"); ResultSet rs = stmt.executeQuery("select count(*) from card where name = \'" + name + "\';");
while (rs.next()) { while (rs.next()) {
count = rs.getInt("count"); count = rs.getInt("count");
System.out.println("Count: ");
System.out.print(count);
} }
rs.close(); rs.close();
stmt.close(); stmt.close();
@ -139,51 +192,38 @@ public class DBConnection {
/** /**
* Fügt eine Karte der DB hinzu * Fügt eine Karte der DB hinzu
*
* @param card Card die hinzugefügt werden soll * @param card Card die hinzugefügt werden soll
* @return true bei erfolg, false bei error * @return true bei erfolg, false bei error
*/ */
public boolean addCard(Card card) { public boolean addCard(Card card) {
this.c = con(); return PostgresHelper.executeUpdateMessage("insert into card (NAME, DAMAGE, ELEMENTTYP, CARDTYPE) values (\'" + card.getName() + "\',\'" + card.getDamage() + "\',\'" + card.getElementTyp().name() + "\',\'" + card.getCardType().name() + "\')", "Card added");
try{
stmt = this.c.createStatement();
String sql = "insert into card (NAME, DAMAGE, ELEMENTTYP, CARDTYPE) values (\'" + card.getName() +"\',\'" + card.getDamage() + "\',\'" + card.getElementTyp().name() + "\',\'" + card.getCardType().name() + "\')";
System.out.println(sql);
stmt.executeUpdate(sql);
stmt.close();
this.c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName()+": "+ e.getMessage() );
return false;
}
System.out.println("Card added");
return true;
} }
/** /**
* Ermittelt die nächste Package ID * Ermittelt die nächste Package ID
*
* @return Die Nächste Package id, wenn 0, dann ist ein error * @return Die Nächste Package id, wenn 0, dann ist ein error
*/ */
public int nextPackageId(){ public int nextPackageId() {
this.c = con(); this.c = PostgresHelper.con();
String id = ""; String id = "";
try{ try {
stmt = this.c.createStatement(); stmt = this.c.createStatement();
ResultSet rs = stmt.executeQuery( "select max(\"ID\") from package;"); ResultSet rs = stmt.executeQuery("select max(\"ID\") from package;");
while ( rs.next() ) { while (rs.next()) {
id = rs.getString("max"); id = rs.getString("max");
} }
if (id == null){ if (id == null) {
id = "0"; id = "0";
} }
rs.close(); rs.close();
stmt.close(); stmt.close();
this.c.close(); this.c.close();
} catch ( Exception e ) { } catch (Exception e) {
System.err.println( e.getClass().getName()+": "+ e.getMessage() ); System.err.println(e.getClass().getName() + ": " + e.getMessage());
return 0; return 0;
} }
System.out.println("Package Next id is: ");
System.out.print(id);
return Integer.parseInt(id) + 1; return Integer.parseInt(id) + 1;
} }
@ -191,121 +231,157 @@ public class DBConnection {
* Fügt eine Package der DB hinzu, * Fügt eine Package der DB hinzu,
* wenn eine Karte aus dem Package noch nicht in der Db ist, * wenn eine Karte aus dem Package noch nicht in der Db ist,
* dann wird es automatisch hinzugefuegt * dann wird es automatisch hinzugefuegt
*
* @param pack Pack welches hinzugefügt werden soll * @param pack Pack welches hinzugefügt werden soll
* @return True bei erfolg, false bei fehler * @return True bei erfolg, false bei fehler
*/ */
public boolean addPackage(Package pack) { public boolean addPackage(Package pack) {
for (Card ca : pack.getCards()) { for (Card ca : pack.getCards()) {
if (!cardExists(ca.getName())) { if (!cardExists(ca.getName())) {
if(!addCard(ca)){ if (!addCard(ca)) {
return false; return false;
} }
} }
this.c = con(); if(!PostgresHelper.executeUpdateMessage("INSERT INTO package (\"ID\", \"name\") values (\'" + pack.getName() + "\',\'" + ca.getName() + "\');", "Card zu Package hinzugefügt")){
try {
stmt = this.c.createStatement();
String sql = "INSERT INTO package (\"ID\", \"name\") values (\'" + pack.getName() + "\',\'" + ca.getName() + "\');";
System.out.println(sql);
stmt.executeUpdate(sql);
stmt.close();
this.c.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
return false; return false;
} }
System.out.println("Card zu Package hinzugefügt");
} }
return true; return true;
} }
/** /**
* Fügt einen User der DB hinzu * Fügt einen User der DB hinzu
*
* @param username Username des Users * @param username Username des Users
* @param password Passwort des Users * @param password Passwort des Users
* @param nachname nachname des Users * @param nachname nachname des Users
* @param email Email des Users * @param email Email des Users
* @return True wenn alles erfolgreich war, false wenn es nicht erfolgreich war * @return True wenn alles erfolgreich war, false wenn es nicht erfolgreich war
*/ */
public boolean addUser(String username, String password, String nachname, String email){ public boolean addUser(String username, String password, String nachname, String email, String bio, String image) {
this.c = con(); return PostgresHelper.executeUpdateMessage("INSERT INTO users (username, nachname, email, password, bio, image) values (\'" + username + "\',\'" + nachname + "\',\'" + email + "\',\'" + password + "\',\'" + bio + "\',\'" + image + "\')", "User added");
try{
stmt = this.c.createStatement();
String sql = "INSERT INTO users (username, nachname, email, password) values (\'" + username +"\',\'" + nachname + "\',\'" + email + "\',\'" + password + "\')";
System.out.println(sql);
stmt.executeUpdate(sql);
stmt.close();
this.c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName()+": "+ e.getMessage() );
return false;
} }
System.out.println("User added");
return true; /**
* Updated den Nachnamen, Bio und das Image eines Users mit gegebenen usernamen
* @param username User der geändert werden soll
* @param bio Neue BIO
* @param image Neues Image
* @param name Neuer Nachname
* @return True bei erfolg, sonst false
*/
public boolean updateUser(String username, String bio, String image, String name){
System.out.println("UPDATE public.users SET nachname = \'"+ name+"\', bio = \'"+bio+"\', image = \'"+image+"\' WHERE username LIKE \'"+username+"\' ESCAPE \'#\'");
return PostgresHelper.executeUpdate("UPDATE public.users SET nachname = \'"+ name+"\', bio = \'"+bio+"\', image = \'"+image+"\' WHERE username LIKE \'"+username+"\' ESCAPE \'#\'");
}
/**
private boolean updateUser(String username, String name, String bio, String image){
return PostgresHelper.executeUpdate("UPDATE public.users SET nachname = \'"+ name +"\', bio = \'"+bio+"\', image = \'"+image+"\' WHERE username LIKE \'"+username+"\' ESCAPE \'#\'");
} }
/** /**
* Sucht einen User anhand des Usernamens. * Sucht einen User anhand des Usernamens.
* Gibt ein User Objekt zurück * Gibt ein User Objekt zurück
*
* @param uname Username der zu suchen ist * @param uname Username der zu suchen ist
* @return User als User Objekt * @return User als User Objekt, null bei fehler
* @throws SQLException Fehler bei der Suche in der DB * @throws SQLException Fehler bei der Suche in der DB
*/ */
public User getUser(String uname) throws SQLException { public User getUser(String uname) throws SQLException {
this.c = con(); this.c = PostgresHelper.con();
String username="", password="", email ="", nachname = ""; String username = "", password = "", email = "", nachname = "", bio="", image="";
try{ try {
stmt = this.c.createStatement(); stmt = this.c.createStatement();
ResultSet rs = stmt.executeQuery( "SELECT * FROM users where username = \'" + uname + "\';" ); ResultSet rs = stmt.executeQuery("SELECT * FROM users where username = \'" + uname + "\';");
while ( rs.next() ) { while (rs.next()) {
username = rs.getString("username"); username = rs.getString("username");
nachname = rs.getString("nachname"); nachname = rs.getString("nachname");
email = rs.getString("email"); email = rs.getString("email");
password = rs.getString("password"); password = rs.getString("password");
System.out.println( "username = " + username ); bio = rs.getString("bio");
System.out.println( "nachname = " + nachname ); image = rs.getString("image");
System.out.println( "email = " + email );
System.out.println( "password = " + password );
System.out.println();
} }
rs.close(); rs.close();
stmt.close(); stmt.close();
this.c.close(); this.c.close();
} catch ( Exception e ) { } catch (Exception e) {
System.err.println( e.getClass().getName()+": "+ e.getMessage() ); System.err.println(e.getClass().getName() + ": " + e.getMessage());
return null;
}
System.out.println("User pulled successfully");
return new User(new Credentials(username, password), username, username, email, new Coins(20), bio, image);
}
/**
* Holt alle Karten eines Users
* @param username Username des Users
* @return Cards Object, falls es null ist, war ein fehler
*/
public Cards getCards(String username){
this.c = PostgresHelper.con();
String cardname = "";
Cards allCards = new Cards(new ArrayList<Card>());
ArrayList<String> cardnamenarray = new ArrayList<String>();
try {
stmt = this.c.createStatement();
ResultSet rs = stmt.executeQuery("select * from user_cards where username = \'" + username + "\';");
while (rs.next()) {
cardname = rs.getString("name");
cardnamenarray.add(cardname);
System.out.println("cardname = " + cardname);
}
rs.close();
stmt.close();
this.c.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0); System.exit(0);
} }
System.out.println("Operation done successfully"); System.out.println("Card Namen pulled successfully");
return new User(new Credentials(username, password), username, username, email, new Coins(20)); for (String st : cardnamenarray) {
Connection b = PostgresHelper.con();
try {
stmt = b.createStatement();
ResultSet rs = stmt.executeQuery("select * from card where NAME = \'" + st + "\';");
while (rs.next()) {
int damage =rs.getInt("damage");
String elementtyp =rs.getString("elementtyp");
String cardtype=rs.getString("cardtype");
System.out.println("damage = " + damage);
System.out.println("elementtyp = " + elementtyp);
System.out.println("cardtype = " + cardtype);
System.out.println();
allCards.addCard(new Card(st, elementtyp+cardtype, damage));
} }
rs.close();
stmt.close();
b.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
System.out.println("Card pulled successfully");
}
return allCards;
}
/** /**
* Holt alle verfügbaren TradingDeals * Holt alle verfügbaren TradingDeals
*
* @return Alle Trading Deals * @return Alle Trading Deals
*/
public ArrayList<TradingDeal> getAllTradingDeals(){ public ArrayList<TradingDeal> getAllTradingDeals() {
return this.tradingDeals; return this.tradingDeals;
} }
/**
* Holt alle verfügbaren Packages
* @return Alle Packages
*/
public ArrayList<Package> getAllPackages(){
return this.packages;
}
/** /**
* Fügt einen neuen Tradingdeal zum at.reisinger.Store hinzu * Fügt einen neuen Tradingdeal zum at.reisinger.Store hinzu
*
* @param tradingDeal Der neue Deal * @param tradingDeal Der neue Deal
*/
public void addTradingDeal(TradingDeal tradingDeal){ public void addTradingDeal(TradingDeal tradingDeal) {
this.tradingDeals.add(tradingDeal); this.tradingDeals.add(tradingDeal);
} }
*/
// /**
// * Fügt ein neues at.reisinger.Package zu dem at.reisinger.Store hinzu
// * @param packageDeal Das neue at.reisinger.Package
// */
// public void addPackage(at.reisinger.Package packageDeal){
// this.packages.add(packageDeal);
// }
} }

View File

@ -8,9 +8,9 @@ import java.util.ArrayList;
* at.reisinger.User & at.reisinger.Store Logik * at.reisinger.User & at.reisinger.Store Logik
*/ */
@JsonAutoDetect @JsonAutoDetect
public class User implements Store{ public class User{
@JsonProperty @JsonProperty
private String name, nachname, email; private String name, nachname, email, bio, image;
/* /*
@JsonProperty @JsonProperty
private Stack stack; private Stack stack;
@ -42,16 +42,54 @@ public class User implements Store{
} }
*/ */
@JsonCreator @JsonCreator
public User(@JsonProperty Credentials credentials,@JsonProperty String name,@JsonProperty String nachname,@JsonProperty String email,@JsonProperty Coins coins) { public User(@JsonProperty Credentials credentials,@JsonProperty String name,@JsonProperty String nachname,@JsonProperty String email,@JsonProperty Coins coins, @JsonProperty String bio, @JsonProperty String image) {
this.credentials = credentials; this.credentials = credentials;
this.name = name; this.name = name;
this.nachname = nachname; this.nachname = nachname;
this.email = email; this.email = email;
//this.stack = null; //this.stack = null;
this.coins = coins; this.coins = coins;
this.bio = bio;
this.image = image;
//this.db = new at.reisinger.DBConnection(); //this.db = new at.reisinger.DBConnection();
} }
/**
* Holt die Bio vom User
* @return Bio des Users
*/
@JsonGetter
public String getBio() {
return bio;
}
/**
* Setzt die Bio vom User
* @param bio Bio des Users
*/
@JsonSetter
public void setBio(String bio) {
this.bio = bio;
}
/**
* Holt das image vom user
* @return Image vom user
*/
@JsonGetter
public String getImage() {
return image;
}
/**
* Setzt das image vom user
* @param image Image vom user
*/
@JsonSetter
public void setImage(String image) {
this.image = image;
}
/** /**
* Holt den at.reisinger.Stack des Users * Holt den at.reisinger.Stack des Users
* @return at.reisinger.Stack des Users * @return at.reisinger.Stack des Users
@ -199,15 +237,16 @@ public class User implements Store{
/** /**
* Fügt dem at.reisinger.Store einen neuen Tradingdeal hinzu * Fügt dem at.reisinger.Store einen neuen Tradingdeal hinzu
* @param tradingDeal Der neue Tradingdeal * @param tradingDeal Der neue Tradingdeal
*/ *
public void addTradingDeal(TradingDeal tradingDeal) { public void addTradingDeal(TradingDeal tradingDeal) {
new DBConnection().addTradingDeal(tradingDeal); new DBConnection().addTradingDeal(tradingDeal);
} }
/** /**
* Holt alle verfügbaren Tradingdeals * Holt alle verfügbaren Tradingdeals
* @return Alle verfügbaren Deals * @return Alle verfügbaren Deals
*/ *
public ArrayList<TradingDeal> getTradingDeals() { public ArrayList<TradingDeal> getTradingDeals() {
return new DBConnection().getAllTradingDeals(); return new DBConnection().getAllTradingDeals();
} }
@ -237,7 +276,7 @@ public class User implements Store{
* Gibt alle Möglichen Trading Deals zurück * Gibt alle Möglichen Trading Deals zurück
* @param toTrade Prüft nach diesem Deal * @param toTrade Prüft nach diesem Deal
* @return * @return
*/ *
@Override @Override
public ArrayList<TradingDeal> getPossibleTradingDeals(Card toTrade) { public ArrayList<TradingDeal> getPossibleTradingDeals(Card toTrade) {
ArrayList<TradingDeal> storeList = new DBConnection().getAllTradingDeals(); ArrayList<TradingDeal> storeList = new DBConnection().getAllTradingDeals();
@ -251,6 +290,7 @@ public class User implements Store{
return possible; return possible;
} }
*/
/** /**
* Checkt ob es sich um den selben at.reisinger.User handelt * Checkt ob es sich um den selben at.reisinger.User handelt
* @param toCheck Mit diesem at.reisinger.User wird verglichen * @param toCheck Mit diesem at.reisinger.User wird verglichen

View File

@ -0,0 +1,2 @@
package at.reisinger.server.helper;public class EnumHelper {
}

View File

@ -1,7 +1,78 @@
package at.reisinger.server.helper; package at.reisinger.server.helper;
import at.reisinger.Card;
import at.reisinger.Cards;
import at.reisinger.Package;
import at.reisinger.User;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.ArrayList;
import java.util.Map;
/**
* Hilfsfunktionen für Jackson Json
*/
public class JsonHelper { public class JsonHelper {
/**
* Wandelt ein Package in form einer ArrayList<Card> om ein Json um
* @param listCards Cards die in dem Json stehen sollen
* @param name Name des Packages
* @return Json String des Packages
*/
public static String packageListToJson(ArrayList<Card> listCards, String name){
Package packageCards = new Package(new Cards(listCards),name, 5);
return objToJson(packageCards);
}
/**
* Wandelt ein Package Objekt in ein Json um
* @param obj Objekt das in ein Json umgewandelt werden soll
* @return Json String des Packages
*/
public static String objToJson(Object obj){
ObjectMapper objectMapper = new ObjectMapper();
objectMapper = new ObjectMapper();
String packageJson = "";
if(obj != null) {
try {
packageJson += objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
packageJson = "Error: JsonProcessingException -> " + e.getMessage();
}
return packageJson;
}else{
return null;
}
}
public static Map<String, Object> jsonPayloadToMap(String payload){
ObjectMapper objectMapper = new ObjectMapper();
try {
return objectMapper.readValue(payload, new TypeReference<Map<String,Object>>(){});
} catch (JsonProcessingException e) {
e.printStackTrace();
return null;
}
}
public static String userToJson(User user){
//User to json
ObjectMapper objectMapper = new ObjectMapper();
objectMapper = new ObjectMapper();
String userJson = "";
if(user != null) {
try {
userJson += objectMapper.writeValueAsString(user);
} catch (JsonProcessingException e) {
userJson = "Error: JsonProcessingException -> " + e.getMessage();
}
return userJson;
}else{
return null;
}
}
} }

View File

@ -0,0 +1,60 @@
package at.reisinger.server.helper;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/**
* Hilfsfunktionen für die verwendung der Postgres DB
*/
public class PostgresHelper {
/**
* Verbindet mit der Datenbank
* @return Das Connection Objekt
*/
public static Connection con() {
Connection c = null;
try {
Class.forName("org.postgresql.Driver");
c = DriverManager
.getConnection("jdbc:postgresql://postgres.dergeorg.at:5432/mtcg",
"user", "user");
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
return c;
}
/**
* Führt ein Sql statement ohne rückgabe aus, mit message nachricht
* @param sql Sql command
* @return True bei erfolg, sonst false
*/
public static boolean executeUpdateMessage(String sql, String message){
System.out.println(message);
return executeUpdate(sql);
}
/**
* Führt ein Sql statement ohne rückgabe aus
* @param sql Sql command
* @return True bei erfolg, sonst false
*/
public static boolean executeUpdate(String sql){
Connection c = con();
Statement stmt;
try {
stmt = c.createStatement();
stmt.executeUpdate(sql);
stmt.close();
c.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
return false;
}
return true;
}
}

View File

@ -1,89 +0,0 @@
package at.reisinger.server.msg;
import at.reisinger.server.objects.Msg;
import java.util.HashMap;
/**
* Der Speicher der Nachrichten
* Mit hilfe einer HashMap werden die MsgId und die Msg selbst gespeichert
* @author Georg Reisinger
*/
public class MsgHandler {
private HashMap<Integer , String> msgHashMap;
private int lastID;
/**
* Erstellt den MsgHandler mit standart Test Messages
*/
public MsgHandler(){
msgHashMap = new HashMap<Integer, String>();
addMsg("Hallo");
addMsg("Wie");
addMsg("Geht");
addMsg("Es");
addMsg("Dir?");
}
/**
* Ermitelt die nächste freie Id
* @return Next ID
*/
private int nextId(){
return this.lastID + 1;
}
/**
* Msg hinzufügen
* @param msg Message Text
*/
public int addMsg(String msg){
int id = nextId();
msgHashMap.put(id, msg);
this.lastID = id;
return id;
}
/**
* Msg löschen
* @param id Message Id
*/
public String delMsg(int id){
return msgHashMap.remove(id);
}
/**
* Msg bearbeiten
* @param id Message Id
* @param msg Message Text
*/
public String editMsg(int id, String msg){
return msgHashMap.replace(id, msg);
}
/**
* Msg als Objekt holen
* @param id Message Id
* @return Message als Msg Objekt
*/
public Msg getMsg(int id){
return new Msg(id, msgHashMap.get(id));
}
/**
* Alle Nachrichten werden in den Format Key, Value besorgt
* bsp: key: 1 value: Nachricht
* @return Alle nachrichten in einem String
*/
public String getAllMsg(){
String returnStr = "";
// Print keys and values
for (Integer i : msgHashMap.keySet()) {
String item = "key: " + i + " value: " + msgHashMap.get(i) + "\n";
returnStr += item;
}
System.out.println(returnStr);
return returnStr;
}
}

View File

@ -2,10 +2,13 @@ package at.reisinger.server.objects;
import at.reisinger.*; import at.reisinger.*;
import at.reisinger.Package; import at.reisinger.Package;
import at.reisinger.server.helper.JsonHelper;
import at.reisinger.server.helper.PostgresHelper;
import at.reisinger.server.msg.MsgHandler; import at.reisinger.server.msg.MsgHandler;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import org.postgresql.shaded.com.ongres.scram.common.bouncycastle.pbkdf2.Pack;
import java.io.PrintStream; import java.io.PrintStream;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
@ -28,8 +31,6 @@ public class Response {
private String url; private String url;
private String payload; private String payload;
private String authString; private String authString;
private MsgHandler msgHandler;
private StringBuilder rqBuilder;
/** /**
* Nimmt die Daten des requests und generiert eine Response * Nimmt die Daten des requests und generiert eine Response
@ -47,11 +48,13 @@ public class Response {
this.cmd = cmd; this.cmd = cmd;
this.out = out; this.out = out;
this.payload = payload; this.payload = payload;
this.rqBuilder = new StringBuilder();
System.out.println(cmd);
if (this.url != null) { if (this.url != null) {
if (this.cmd.equals("GET")) { if (this.cmd.equals("GET")) {
if(login()) {
getMethodes(); getMethodes();
}else{
sendError("401");
}
}else if (this.cmd.equals("POST")){ }else if (this.cmd.equals("POST")){
try { try {
postMethodes(); postMethodes();
@ -59,31 +62,55 @@ public class Response {
e.printStackTrace(); e.printStackTrace();
} }
}else if (this.cmd.equals("PUT")){ }else if (this.cmd.equals("PUT")){
if(login()) {
putMethodes(); putMethodes();
}else{
sendError("401");
}
}else if (this.cmd.equals("DELETE")){ }else if (this.cmd.equals("DELETE")){
if(login()) {
deleteMethodes(); deleteMethodes();
}else{
sendError("401");
}
}else{ }else{
sendError("405"); sendError("405");
} }
} }
} }
/**
* Alle Get Methoden
* Nur für angemeldete user erreichbar
*/
private void getMethodes(){ private void getMethodes(){
if (this.url.startsWith("/messages")) { if (this.url.startsWith("/users")) {
String lastBit = this.url.substring(this.url.lastIndexOf('/') + 1); String username = this.url.substring(this.url.lastIndexOf('/') + 1);
System.out.println("Last Bit: " + lastBit); System.out.println("Username in /users/{username}: " + username);
if(lastBit.equals("messages")){ User user = null;
listAllMsg(); try {
user = new DBConnection().getUser(username);
} catch (SQLException throwables) {
throwables.printStackTrace();
sendError("401");
}
if (user != null){
String userJson = JsonHelper.userToJson(user);
if(userJson != null && !userJson.isEmpty()){
sendResponse(userJson, "200");
}
}else{ }else{
String message = msgHandler.getMsg(Integer.parseInt(lastBit)).getMsg(); sendError("500");
if(message == null){
sendError("404");
}else {
sendResponse(message, "200");
} }
} else if (this.url.startsWith("/cards")) {
String username = basicAuthGetUsername(this.authString);
Cards allCards = new DBConnection().getCards(username);
String jsonCards = JsonHelper.objToJson(allCards);
if (jsonCards != null && !jsonCards.isEmpty()){
sendResponse(jsonCards, "200");
}else{
sendError("500");
} }
} else if (this.url.startsWith("/")) {
startseite();
} }
} }
@ -102,25 +129,29 @@ public class Response {
return false; return false;
} }
/**
* Erstellt den basicAuth Base64 Token aus Username und Passwort
* @param username Username für den Token
* @param password Passwort für den Token
* @return Der Base64 BasicAtuth String
*/
private String basicAuthBase64(String username, String password){ private String basicAuthBase64(String username, String password){
String authString = username + ":" + password; String authString = username + ":" + password;
//System.out.println("auth string: " + authString);
byte[] authEncBytes = Base64.getEncoder().encode(authString.getBytes()); byte[] authEncBytes = Base64.getEncoder().encode(authString.getBytes());
String authStringEnc = new String(authEncBytes); String authStringEnc = new String(authEncBytes);
//System.out.println("Base64 encoded auth string: " + authStringEnc);
return authStringEnc; return authStringEnc;
} }
private String basicAuthGetUsername(String authString) throws UnsupportedEncodingException { /**
* Aus dem Base64 BasicAuth String wird der Username extrahiert
* @param authString Base64 BasicAuth String aus dem der Username ausgelesen werden soll
* @return Der Username der in dem Base64 BasicAuth String ist
*/
private String basicAuthGetUsername(String authString) {
String[] values; String[] values;
if (authString != null) { if (authString != null) {
System.out.println("1");
byte[] credDecoded = Base64.getDecoder().decode(authString); byte[] credDecoded = Base64.getDecoder().decode(authString);
System.out.println("2");
String credentials = new String(credDecoded); String credentials = new String(credDecoded);
System.out.println("credentials: ");
System.out.println(credentials);
// credentials = username:password
values = credentials.split(":", 2); values = credentials.split(":", 2);
}else{ }else{
values = null; values = null;
@ -128,37 +159,32 @@ public class Response {
return values[0]; return values[0];
} }
/**
* Alle Post Methoden, siehe API beschreibung für genauere details
*
* Kann auch von nicht angemeldeten usern erreicht werden.
* login() wird hier verwendet
* @throws JsonProcessingException Fehler beim de-/serialisieren
*/
private void postMethodes() throws JsonProcessingException { private void postMethodes() throws JsonProcessingException {
if (this.url.startsWith("/users")) { if (this.url.startsWith("/users")) {
//payload to map Map<String, Object> map = JsonHelper.jsonPayloadToMap(this.payload);
ObjectMapper objectMapper = new ObjectMapper();
Map<String, Object> map = objectMapper.readValue(this.payload, new TypeReference<Map<String,Object>>(){});
String username = (String) map.get("Username"); String username = (String) map.get("Username");
String password = (String) map.get("Password"); String password = (String) map.get("Password");
User newUser = new User(new Credentials(username, password), username, username, "not implemented", new Coins(20)); User newUser = new User(new Credentials(username, password), username, username, "not implemented", new Coins(20), "BIO", "IMAGE");
System.out.println("CON DB"); System.out.println("CON DB");
DBConnection con = new DBConnection(); DBConnection con = new DBConnection();
if(!con.addUser(username, password, username, "not implemented")){ if(!con.addUser(newUser.getCredentials().getUsername(), newUser.getCredentials().getPasswort(), newUser.getCredentials().getUsername(), newUser.getEmail(), newUser.getBio(), newUser.getImage())){
sendError("409"); sendError("409");
} }
String userJson = JsonHelper.userToJson(newUser);;
//User to json if(userJson != null) {
objectMapper = new ObjectMapper();
String userJson = "";
if(newUser != null) {
try {
userJson += objectMapper.writeValueAsString(newUser);
} catch (JsonProcessingException e) {
userJson = "Error: JsonProcessingException -> " + e.getMessage();
}
sendResponse(userJson, "201"); sendResponse(userJson, "201");
}else{ }else{
sendError("500"); sendError("500");
} }
}else if (this.url.startsWith("/sessions")) { }else if (this.url.startsWith("/sessions")) {
//payload to map Map<String, Object> map = JsonHelper.jsonPayloadToMap(this.payload);
ObjectMapper objectMapper = new ObjectMapper();
Map<String, Object> map = objectMapper.readValue(this.payload, new TypeReference<Map<String,Object>>(){});
String username = (String) map.get("Username"); String username = (String) map.get("Username");
String password = (String) map.get("Password"); String password = (String) map.get("Password");
User user = null; User user = null;
@ -177,61 +203,112 @@ public class Response {
sendError("401"); sendError("401");
} }
}else if (this.url.startsWith("/packages")) { }else if (this.url.startsWith("/packages")) {
if(basicAuth("admin", "admin", this.authString)){ if(login()) {
System.out.println("1"); if (basicAuth("admin", "admin", this.authString)) {
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
System.out.println("2"); ArrayList<Card> listCards = objectMapper.readValue(this.payload, new TypeReference<ArrayList<Card>>() {
ArrayList<Card> listCards = objectMapper.readValue(this.payload, new TypeReference<ArrayList<Card>>(){}); });
System.out.println("List cards"); Package packageCards = new Package(new Cards(listCards), new DBConnection().nextPackageId() + "", 5);
System.out.println(listCards.toString()); if (!new DBConnection().addPackage(packageCards)) {
Package packageCards = new Package(new Cards(listCards), new DBConnection().nextPackageId()+"", 5);
System.out.println("3");
if(!new DBConnection().addPackage(packageCards)){
sendError("500"); sendError("500");
}else{ } else {
//Package to json String packageJson = JsonHelper.objToJson(packageCards);
objectMapper = new ObjectMapper(); if (packageJson != null) {
String packageJson = "";
if(packageCards != null) {
try {
packageJson += objectMapper.writeValueAsString(packageCards);
} catch (JsonProcessingException e) {
packageJson = "Error: JsonProcessingException -> " + e.getMessage();
}
sendResponse(packageJson, "201"); sendResponse(packageJson, "201");
}else{ } else {
sendError("500"); sendError("500");
} }
} }
}else{ } else {
sendError("401"); sendError("401");
} }
} }
}else if (this.url.startsWith("/transactions/packages")) {
if (login()) {
DBConnection db = new DBConnection();
Package newPackage = db.userAcquirePackage(basicAuthGetUsername(this.authString));
if (newPackage == null) {
sendError("500");
} else {
String packageJson = JsonHelper.objToJson(newPackage);
if (packageJson == null) {
sendError("500");
} else {
sendResponse(packageJson, "200");
}
}
}
}
} }
/**
* Prüft den Login, anhand des BasicAuth Base64 String
* @return True wenn login daten korrekt, sonst false
*/
private boolean login(){
String username = basicAuthGetUsername(this.authString);
User user = null;
DBConnection con = new DBConnection();
try {
user = con.getUser(username);
} catch (SQLException throwables) {
throwables.printStackTrace();
return false;
}
if (basicAuth(user.getCredentials().getUsername(), user.getCredentials().getPasswort(), this.authString)){
return true;
}else{
return false;
}
}
/**
* Alle Put Methoden
* Nur für angemeldete user erreichbar
* @throws JsonProcessingException Fehler beim de-/serialisieren
*/
private void putMethodes(){ private void putMethodes(){
if (this.url.startsWith("/messages")) { if (this.url.startsWith("/users")) {
String lastBit = this.url.substring(this.url.lastIndexOf('/') + 1); String username = this.url.substring(this.url.lastIndexOf('/') + 1);
System.out.println("Last Bit: " + lastBit); System.out.println("Username in /users/{username}: " + username);
System.out.println("Payload" + this.payload); User user = null;
String message = msgHandler.editMsg(Integer.parseInt(lastBit), this.payload); try {
if(message == null){ user = new DBConnection().getUser(username);
sendError("404"); } catch (SQLException throwables) {
}else { throwables.printStackTrace();
sendResponse("","200"); sendError("401");
}
if(user != null) {
Map<String, Object> map = JsonHelper.jsonPayloadToMap(this.payload);
String bio = (String) map.get("Bio");
String image = (String) map.get("Image");
String name = (String) map.get("Name");
System.out.println("Request /users:");
System.out.println("Bio: " + bio + "\nImage: " + image + "\nName: " + name);
user.setBio(bio);
user.setImage(image);
user.setNachname(name);
if (new DBConnection().updateUser(username, user.getBio(), user.getImage(), user.getNachname())) {
sendResponse(JsonHelper.userToJson(user), "200");
} else {
sendError("500");
}
}else{
sendError("500");
} }
} }
} }
/**
* Alle Delete Methoden, siehe API beschreibung für genauere details
* Nur für angemeldete user erreichbar
* @throws JsonProcessingException Fehler beim de-/serialisieren
*/
private void deleteMethodes(){ private void deleteMethodes(){
if (this.url.startsWith("/messages")) { if (this.url.startsWith("/messages")) {
String lastBit = this.url.substring(this.url.lastIndexOf('/') + 1);
String message = msgHandler.delMsg(Integer.parseInt(lastBit));
if(message == null){
sendError("404");
}else {
sendResponse("", "200");
}
} }
} }
@ -249,6 +326,9 @@ public class Response {
//out.print(responseText); //out.print(responseText);
} }
/**
* Sendet eine Startseite, mit allen befehlen und wie man diese verwendet
private void startseite() { private void startseite() {
sendResponse("lists all messages: GET /messages<br>" + sendResponse("lists all messages: GET /messages<br>" +
"add message: POST /messages (Payload: the message; Response an id like1)<br>" + "add message: POST /messages (Payload: the message; Response an id like1)<br>" +
@ -257,11 +337,7 @@ public class Response {
"update first message: PUT /messages/1 (Payload: the message)<br>" + "update first message: PUT /messages/1 (Payload: the message)<br>" +
"remove first message: DELETE /messages/1<br>", "200"); "remove first message: DELETE /messages/1<br>", "200");
} }
*/
private void listAllMsg() {
sendResponse(msgHandler.getAllMsg(), "200");
//sendResponse("Test");
}
/** /**
* Sendet eine Response * Sendet eine Response
@ -276,14 +352,4 @@ public class Response {
out.print("\r\n"); out.print("\r\n");
out.print(responseText); out.print(responseText);
} }
/**
* Get Msg Handler
*
* @return msgHandler Handler der Nachrichten
*/
public MsgHandler getMsghandler() {
return this.msgHandler;
}
} }

View File

@ -36,8 +36,8 @@ public class StoreTest {
Coins coins = new Coins(10); Coins coins = new Coins(10);
//at.reisinger.User //at.reisinger.User
Credentials credentials = new Credentials("username", "passwort"); Credentials credentials = new Credentials("username", "passwort");
user = new User(credentials, "name", "nachname", "email", coins); user = new User(credentials, "name", "nachname", "email", coins, "BIO", "IMAGE");
userNew = new User(credentials, "nameNew", "nachnameNew", "emailNew", coins); userNew = new User(credentials, "nameNew", "nachnameNew", "emailNew", coins, "BIO", "IMAGE");
//Trading Deal //Trading Deal
Card cardToTrade = card; Card cardToTrade = card;
@ -47,7 +47,7 @@ public class StoreTest {
tradingDeal = new TradingDeal(user, cardToTrade, requiredElementType, requiredMinDamage, requiredCardType); tradingDeal = new TradingDeal(user, cardToTrade, requiredElementType, requiredMinDamage, requiredCardType);
} }
/*
@Test @Test
void test_addTradingDeal() { void test_addTradingDeal() {
@ -66,7 +66,7 @@ public class StoreTest {
stackArrList.add(c5); stackArrList.add(c5);
Cards deck = new Cards(deckArrList); Cards deck = new Cards(deckArrList);
Cards stack = new Cards(stackArrList); Cards stack = new Cards(stackArrList);
User user = new User(new Credentials("username", "passwort"), "Name", "Nachname", "Email", new Coins(1000)); User user = new User(new Credentials("username", "passwort"), "Name", "Nachname", "Email", new Coins(1000), "BIO", "IMAGE");
ArrayList<TradingDeal> tradingDeals = new ArrayList<TradingDeal>(); ArrayList<TradingDeal> tradingDeals = new ArrayList<TradingDeal>();
ArrayList<Package> packages = new ArrayList<at.reisinger.Package>(); ArrayList<Package> packages = new ArrayList<at.reisinger.Package>();
tradingDeals.add(new TradingDeal(user, c1, ElementTyp.FIRE, 10, CardType.MONSTER)); tradingDeals.add(new TradingDeal(user, c1, ElementTyp.FIRE, 10, CardType.MONSTER));
@ -108,7 +108,7 @@ public class StoreTest {
stackArrList.add(c5); stackArrList.add(c5);
Cards deck = new Cards(deckArrList); Cards deck = new Cards(deckArrList);
Cards stack = new Cards(stackArrList); Cards stack = new Cards(stackArrList);
User user = new User(new Credentials("username", "passwort"), "Name", "Nachname", "Email", new Coins(1000)); User user = new User(new Credentials("username", "passwort"), "Name", "Nachname", "Email", new Coins(1000), "BIO", "IMAGE");
ArrayList<TradingDeal> tradingDeals = new ArrayList<TradingDeal>(); ArrayList<TradingDeal> tradingDeals = new ArrayList<TradingDeal>();
ArrayList<at.reisinger.Package> packages = new ArrayList<at.reisinger.Package>(); ArrayList<at.reisinger.Package> packages = new ArrayList<at.reisinger.Package>();
tradingDeals.add(new TradingDeal(user, c1, ElementTyp.FIRE, 10, CardType.MONSTER)); tradingDeals.add(new TradingDeal(user, c1, ElementTyp.FIRE, 10, CardType.MONSTER));
@ -136,10 +136,12 @@ public class StoreTest {
stackArrList.add(c5); stackArrList.add(c5);
Cards deck = new Cards(deckArrList); Cards deck = new Cards(deckArrList);
Cards stack = new Cards(stackArrList); Cards stack = new Cards(stackArrList);
TradingDeal vonDB = new TradingDeal(new User(new Credentials("username", "passwort"), "DerName", "Nachname", "Email", new Coins(1000)), c1, ElementTyp.FIRE, 10, CardType.SPELL); TradingDeal vonDB = new TradingDeal(new User(new Credentials("username", "passwort"), "DerName", "Nachname", "Email", new Coins(1000), "BIO", "IMAGE"), c1, ElementTyp.FIRE, 10, CardType.SPELL);
expected.add(vonDB); expected.add(vonDB);
System.out.println(result.get(0).getCardToTrade().getName()); System.out.println(result.get(0).getCardToTrade().getName());
System.out.println(expected.get(0).getCardToTrade().getName()); System.out.println(expected.get(0).getCardToTrade().getName());
assertTrue(result.get(0).getCardToTrade().equals(expected.get(0).getCardToTrade())); assertTrue(result.get(0).getCardToTrade().equals(expected.get(0).getCardToTrade()));
} }
*/
} }

View File

@ -36,8 +36,8 @@ public class TradingDealTest {
//at.reisinger.User //at.reisinger.User
Credentials credentials = new Credentials("username", "passwort"); Credentials credentials = new Credentials("username", "passwort");
Credentials newCredentials = new Credentials("usernamenew", "passwortnew"); Credentials newCredentials = new Credentials("usernamenew", "passwortnew");
user = new User(credentials, "name", "nachname", "email", coins); user = new User(credentials, "name", "nachname", "email", coins, "BIO", "IMAGE");
userNew = new User(newCredentials, "nameNew", "nachnameNew", "emailNew", coins); userNew = new User(newCredentials, "nameNew", "nachnameNew", "emailNew", coins, "BIO", "IMAGE");
//Trading Deal //Trading Deal
Card cardToTrade = card; Card cardToTrade = card;

View File

@ -38,7 +38,7 @@ public class UserTest {
Coins coins = new Coins(10); Coins coins = new Coins(10);
//at.reisinger.User //at.reisinger.User
Credentials credentials = new Credentials("username", "pw"); Credentials credentials = new Credentials("username", "pw");
user = new User(credentials, "name", "nachname", "email", coins); user = new User(credentials, "name", "nachname", "email", coins, "BIO", "IMAGE");
} }
@Test @Test
public void test_getName() { public void test_getName() {