From c0ecde6fd47fbeaf5a8500b0e14ca82ed300c162 Mon Sep 17 00:00:00 2001 From: Lixfel Date: Sun, 31 Mar 2019 17:50:18 +0200 Subject: [PATCH] SchemMember bugfix --- src/de/warking/hunjy/MySQL/Schematic.java | 7 ++++++- src/de/warking/hunjy/MySQL/SchematicMember.java | 14 ++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/de/warking/hunjy/MySQL/Schematic.java b/src/de/warking/hunjy/MySQL/Schematic.java index e2d374f..34abe72 100644 --- a/src/de/warking/hunjy/MySQL/Schematic.java +++ b/src/de/warking/hunjy/MySQL/Schematic.java @@ -49,7 +49,11 @@ public class Schematic { ResultSet schematic = sql.select("SELECT * FROM Schematic WHERE SchemName = '" + schemName + "' AND SchemOwner = '" + schemOwner + "'"); try { if(schematic == null || !schematic.next()){ - return null; + SchematicMember member = SchematicMember.getMemberBySchematic(schemName, schemOwner); + if(member == null){ + return null; + } + return getSchemFromDB(schemName, member.getSchemOwner()); } String item = schematic.getString("Item"); SchematicType schemType = SchematicType.valueOf(schematic.getString("SchemType")); @@ -133,5 +137,6 @@ public class Schematic { public void remove(){ sql.update("DELETE FROM Schematic WHERE SchemOwner = " + SchemOwner + " AND SchemName = '" + SchemName + "'"); + sql.update("DELETE FROM SchemMember WHERE SchemOwner = " + SchemOwner + " AND SchemName = '" + SchemName + "'"); } } diff --git a/src/de/warking/hunjy/MySQL/SchematicMember.java b/src/de/warking/hunjy/MySQL/SchematicMember.java index 55a5ac0..8c2a3b5 100644 --- a/src/de/warking/hunjy/MySQL/SchematicMember.java +++ b/src/de/warking/hunjy/MySQL/SchematicMember.java @@ -53,6 +53,20 @@ public class SchematicMember { return null; } + public static SchematicMember getMemberBySchematic(String schemName, int schemMember){ + ResultSet schematicMember = sql.select("SELECT * FROM SchemMember WHERE SchemName = '" + schemName + "' AND Member = '" + schemMember + "'"); + try { + if(schematicMember == null || !schematicMember.next()){ + return null; + } + int schemOwner = schematicMember.getInt("SchemOwner"); + return new SchematicMember(schemName, schemOwner, schemMember, false); + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + public static List getSchemMembers(String schemName, UUID schemOwner){ return getSchemMembers(schemName, WarkingUser.get(schemOwner).getId()); }