Add .gitattributes
This commit is contained in:
@ -1,239 +1,239 @@
|
||||
package com.graywolf336.jail.legacy;
|
||||
|
||||
import java.io.File;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import com.graywolf336.jail.JailMain;
|
||||
import com.graywolf336.jail.beans.Cell;
|
||||
import com.graywolf336.jail.beans.Jail;
|
||||
import com.graywolf336.jail.beans.Prisoner;
|
||||
import com.graywolf336.jail.beans.SimpleLocation;
|
||||
|
||||
public class OldInputOutput {
|
||||
private JailMain pl;
|
||||
private Connection connection;
|
||||
private YamlConfiguration global;
|
||||
|
||||
public OldInputOutput(JailMain plugin, YamlConfiguration global) {
|
||||
this.pl = plugin;
|
||||
this.global = global;
|
||||
}
|
||||
|
||||
public synchronized Connection getConnection() throws SQLException {
|
||||
if (connection == null) connection = createConnection();
|
||||
if(OldSettings.getGlobalBoolean(global, OldSetting.UseMySQL)) {
|
||||
if(!connection.isValid(10)) connection = createConnection();
|
||||
}
|
||||
return connection;
|
||||
}
|
||||
|
||||
private Connection createConnection() {
|
||||
try {
|
||||
if (OldSettings.getGlobalBoolean(global, OldSetting.UseMySQL)) {
|
||||
Class.forName("com.mysql.jdbc.Driver");
|
||||
Connection ret = DriverManager.getConnection(OldSettings.getGlobalString(global, OldSetting.MySQLConn), OldSettings.getGlobalString(global, OldSetting.MySQLUsername), OldSettings.getGlobalString(global, OldSetting.MySQLPassword));
|
||||
ret.setAutoCommit(false);
|
||||
return ret;
|
||||
} else {
|
||||
Class.forName("org.sqlite.JDBC");
|
||||
Connection ret = DriverManager.getConnection("jdbc:sqlite:" + new File(pl.getDataFolder().getPath(), "jail.sqlite").getPath());
|
||||
ret.setAutoCommit(false);
|
||||
return ret;
|
||||
}
|
||||
} catch (ClassNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized void freeConnection() throws SQLException {
|
||||
Connection conn = getConnection();
|
||||
if(conn != null) {
|
||||
try {
|
||||
conn.close();
|
||||
conn = null;
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void LoadJails() throws SQLException {
|
||||
PreparedStatement ps = getConnection().prepareStatement("SELECT * FROM jail_zones");
|
||||
ResultSet set = ps.executeQuery();
|
||||
while (set.next()) {
|
||||
String name = set.getString("name").toLowerCase();
|
||||
double X1 = set.getDouble("X1");
|
||||
double Y1 = set.getDouble("Y1");
|
||||
double Z1 = set.getDouble("Z1");
|
||||
double X2 = set.getDouble("X2");
|
||||
double Y2 = set.getDouble("Y2");
|
||||
double Z2 = set.getDouble("Z2");
|
||||
double teleX = set.getDouble("teleX");
|
||||
double teleY = set.getDouble("teleY");
|
||||
double teleZ = set.getDouble("teleZ");
|
||||
double freeX = set.getDouble("freeX");
|
||||
double freeY = set.getDouble("freeY");
|
||||
double freeZ = set.getDouble("freeZ");
|
||||
String teleWorld = set.getString("teleWorld");
|
||||
String freeWorld = set.getString("freeWorld");
|
||||
|
||||
Jail j = new Jail(pl, name);
|
||||
j.setWorld(teleWorld);
|
||||
j.setMaxPoint(new Location(pl.getServer().getWorld(teleWorld), X1, Y1, Z1));
|
||||
j.setMinPoint(new Location(pl.getServer().getWorld(teleWorld), X2, Y2, Z2));
|
||||
j.setTeleportIn(new Location(pl.getServer().getWorld(teleWorld), teleX, teleY, teleZ));
|
||||
j.setTeleportFree(new Location(pl.getServer().getWorld(freeWorld), freeX, freeY, freeZ));
|
||||
|
||||
pl.getJailManager().addJail(j, false);
|
||||
}
|
||||
|
||||
set.close();
|
||||
ps.close();
|
||||
}
|
||||
|
||||
public void LoadPrisoners() throws SQLException {
|
||||
if(pl.getJailManager().getJails().size() != 0) {
|
||||
PreparedStatement ps = getConnection().prepareStatement("SELECT * FROM jail_prisoners");
|
||||
ResultSet set = ps.executeQuery();
|
||||
while (set.next()) {
|
||||
Jail j = pl.getJailManager().getJail(set.getString("JailName"));
|
||||
String name = set.getString("PlayerName").toLowerCase();
|
||||
|
||||
String transferDest = set.getString("TransferDest");
|
||||
boolean transfer = false;
|
||||
if(!transferDest.isEmpty()) {
|
||||
j = pl.getJailManager().getJail(transferDest);
|
||||
transfer = true;
|
||||
}
|
||||
|
||||
//In the event the jail is null (jail didn't transfer or the prisoner was jailed offline and no jail specified
|
||||
if(j == null) {
|
||||
j = pl.getJailManager().getJails().iterator().next();
|
||||
}
|
||||
|
||||
Prisoner p = new Prisoner(pl.getServer().getOfflinePlayer(name).getUniqueId().toString(), name, set.getBoolean("muted"), (long) set.getInt("RemainTime"), set.getString("Jailer"), set.getString("reason"));
|
||||
p.setOfflinePending(set.getBoolean("Offline"));
|
||||
p.setToBeTransferred(transfer);
|
||||
|
||||
j.addPrisoner(p);
|
||||
//String permissions = set.getString("Permissions"); TODO
|
||||
}
|
||||
|
||||
set.close();
|
||||
ps.close();
|
||||
}else {
|
||||
pl.getLogger().warning("No prisoners were transferred from the old database since there aren't any jails defined.");
|
||||
}
|
||||
}
|
||||
|
||||
public void LoadCells() throws SQLException {
|
||||
Connection conn;
|
||||
PreparedStatement ps = null;
|
||||
ResultSet set = null;
|
||||
|
||||
conn = getConnection();
|
||||
ps = conn.prepareStatement("SELECT * FROM jail_cells");
|
||||
set = ps.executeQuery();
|
||||
while (set.next()) {
|
||||
String jailname = set.getString("JailName");
|
||||
String teleport = set.getString("Teleport");
|
||||
String sign = set.getString("Sign");
|
||||
String chest = set.getString("Chest");
|
||||
String player = set.getString("Player");
|
||||
String name = set.getString("Name");
|
||||
|
||||
if(name.isEmpty()) {
|
||||
pl.getLogger().warning("We need a cell name in Jail 3.0, refusing to load a cell due to this.");
|
||||
}else if(jailname.isEmpty()) {
|
||||
pl.getLogger().warning("Refusing to load a cell (" + name + ") as it does not contain a reference to a valid Jail.");
|
||||
}else {
|
||||
Jail j = pl.getJailManager().getJail(jailname);
|
||||
|
||||
if(j == null) {
|
||||
pl.getLogger().warning("Refusing to load a cell (" + name + ") as it references a Jail which doesn't exist.");
|
||||
}else if(j.isValidCell(name)) {
|
||||
pl.getLogger().warning("Refusing to load a duplicate named cell, " + name + ", as another one exists with that same name.");
|
||||
} else {
|
||||
Cell c = new Cell(name);
|
||||
|
||||
if(!teleport.isEmpty()) {
|
||||
String[] l = teleport.split(",");
|
||||
c.setTeleport(new SimpleLocation(j.getWorldName(), l[0], l[1], l[2]));
|
||||
}else {
|
||||
pl.getLogger().warning("Cell " + c.getName() + " in " + j.getName() + " has an empty teleport spot, might be buggy.");
|
||||
}
|
||||
|
||||
if(!chest.isEmpty()) {
|
||||
String[] ch = chest.split(",");
|
||||
c.setChestLocation(new Location(j.getWorld(), Double.valueOf(ch[0]), Double.valueOf(ch[1]), Double.valueOf(ch[2])));
|
||||
}else {
|
||||
pl.getLogger().warning("Cell " + c.getName() + " in " + j.getName() + " has no chest.");
|
||||
}
|
||||
|
||||
if(!sign.isEmpty()) {
|
||||
for(String s : sign.split(";")) {
|
||||
pl.debug(s);
|
||||
String[] si = s.split(",");
|
||||
c.addSign(new SimpleLocation(j.getWorldName(), si[0], si[1], si[2]));
|
||||
}
|
||||
}
|
||||
|
||||
//Load the prisoner if he is a valid prisoner
|
||||
if(!player.isEmpty()) {
|
||||
Prisoner p = j.getPrisonerByLastKnownName(player);
|
||||
|
||||
if(p != null) {
|
||||
j.removePrisoner(p);
|
||||
c.setPrisoner(p);
|
||||
}
|
||||
}
|
||||
|
||||
j.addCell(c, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set.close();
|
||||
ps.close();
|
||||
}
|
||||
|
||||
public void DeleteZone(String z) throws SQLException {
|
||||
Connection conn = getConnection();
|
||||
PreparedStatement ps = conn.prepareStatement("DELETE FROM jail_zones WHERE name = ?");
|
||||
ps.setString(1, z);
|
||||
ps.executeUpdate();
|
||||
conn.commit();
|
||||
ps.close();
|
||||
}
|
||||
|
||||
public void DeleteCell(int x, int y, int z) throws SQLException {
|
||||
Connection conn = getConnection();
|
||||
PreparedStatement ps = conn.prepareStatement("DELETE FROM jail_cells WHERE Teleport = ?");
|
||||
ps.setString(1, String.valueOf(x) + "," + String.valueOf(y) + "," + String.valueOf(z));
|
||||
ps.executeUpdate();
|
||||
conn.commit();
|
||||
|
||||
ps.close();
|
||||
}
|
||||
|
||||
public void DeletePrisoner(String p) throws SQLException {
|
||||
Connection conn = getConnection();
|
||||
PreparedStatement ps = conn.prepareStatement("DELETE FROM jail_prisoners WHERE PlayerName = ?");
|
||||
ps.setString(1, p);
|
||||
ps.executeUpdate();
|
||||
conn.commit();
|
||||
|
||||
ps.close();
|
||||
}
|
||||
}
|
||||
package com.graywolf336.jail.legacy;
|
||||
|
||||
import java.io.File;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import com.graywolf336.jail.JailMain;
|
||||
import com.graywolf336.jail.beans.Cell;
|
||||
import com.graywolf336.jail.beans.Jail;
|
||||
import com.graywolf336.jail.beans.Prisoner;
|
||||
import com.graywolf336.jail.beans.SimpleLocation;
|
||||
|
||||
public class OldInputOutput {
|
||||
private JailMain pl;
|
||||
private Connection connection;
|
||||
private YamlConfiguration global;
|
||||
|
||||
public OldInputOutput(JailMain plugin, YamlConfiguration global) {
|
||||
this.pl = plugin;
|
||||
this.global = global;
|
||||
}
|
||||
|
||||
public synchronized Connection getConnection() throws SQLException {
|
||||
if (connection == null) connection = createConnection();
|
||||
if(OldSettings.getGlobalBoolean(global, OldSetting.UseMySQL)) {
|
||||
if(!connection.isValid(10)) connection = createConnection();
|
||||
}
|
||||
return connection;
|
||||
}
|
||||
|
||||
private Connection createConnection() {
|
||||
try {
|
||||
if (OldSettings.getGlobalBoolean(global, OldSetting.UseMySQL)) {
|
||||
Class.forName("com.mysql.jdbc.Driver");
|
||||
Connection ret = DriverManager.getConnection(OldSettings.getGlobalString(global, OldSetting.MySQLConn), OldSettings.getGlobalString(global, OldSetting.MySQLUsername), OldSettings.getGlobalString(global, OldSetting.MySQLPassword));
|
||||
ret.setAutoCommit(false);
|
||||
return ret;
|
||||
} else {
|
||||
Class.forName("org.sqlite.JDBC");
|
||||
Connection ret = DriverManager.getConnection("jdbc:sqlite:" + new File(pl.getDataFolder().getPath(), "jail.sqlite").getPath());
|
||||
ret.setAutoCommit(false);
|
||||
return ret;
|
||||
}
|
||||
} catch (ClassNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized void freeConnection() throws SQLException {
|
||||
Connection conn = getConnection();
|
||||
if(conn != null) {
|
||||
try {
|
||||
conn.close();
|
||||
conn = null;
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void LoadJails() throws SQLException {
|
||||
PreparedStatement ps = getConnection().prepareStatement("SELECT * FROM jail_zones");
|
||||
ResultSet set = ps.executeQuery();
|
||||
while (set.next()) {
|
||||
String name = set.getString("name").toLowerCase();
|
||||
double X1 = set.getDouble("X1");
|
||||
double Y1 = set.getDouble("Y1");
|
||||
double Z1 = set.getDouble("Z1");
|
||||
double X2 = set.getDouble("X2");
|
||||
double Y2 = set.getDouble("Y2");
|
||||
double Z2 = set.getDouble("Z2");
|
||||
double teleX = set.getDouble("teleX");
|
||||
double teleY = set.getDouble("teleY");
|
||||
double teleZ = set.getDouble("teleZ");
|
||||
double freeX = set.getDouble("freeX");
|
||||
double freeY = set.getDouble("freeY");
|
||||
double freeZ = set.getDouble("freeZ");
|
||||
String teleWorld = set.getString("teleWorld");
|
||||
String freeWorld = set.getString("freeWorld");
|
||||
|
||||
Jail j = new Jail(pl, name);
|
||||
j.setWorld(teleWorld);
|
||||
j.setMaxPoint(new Location(pl.getServer().getWorld(teleWorld), X1, Y1, Z1));
|
||||
j.setMinPoint(new Location(pl.getServer().getWorld(teleWorld), X2, Y2, Z2));
|
||||
j.setTeleportIn(new Location(pl.getServer().getWorld(teleWorld), teleX, teleY, teleZ));
|
||||
j.setTeleportFree(new Location(pl.getServer().getWorld(freeWorld), freeX, freeY, freeZ));
|
||||
|
||||
pl.getJailManager().addJail(j, false);
|
||||
}
|
||||
|
||||
set.close();
|
||||
ps.close();
|
||||
}
|
||||
|
||||
public void LoadPrisoners() throws SQLException {
|
||||
if(pl.getJailManager().getJails().size() != 0) {
|
||||
PreparedStatement ps = getConnection().prepareStatement("SELECT * FROM jail_prisoners");
|
||||
ResultSet set = ps.executeQuery();
|
||||
while (set.next()) {
|
||||
Jail j = pl.getJailManager().getJail(set.getString("JailName"));
|
||||
String name = set.getString("PlayerName").toLowerCase();
|
||||
|
||||
String transferDest = set.getString("TransferDest");
|
||||
boolean transfer = false;
|
||||
if(!transferDest.isEmpty()) {
|
||||
j = pl.getJailManager().getJail(transferDest);
|
||||
transfer = true;
|
||||
}
|
||||
|
||||
//In the event the jail is null (jail didn't transfer or the prisoner was jailed offline and no jail specified
|
||||
if(j == null) {
|
||||
j = pl.getJailManager().getJails().iterator().next();
|
||||
}
|
||||
|
||||
Prisoner p = new Prisoner(pl.getServer().getOfflinePlayer(name).getUniqueId().toString(), name, set.getBoolean("muted"), (long) set.getInt("RemainTime"), set.getString("Jailer"), set.getString("reason"));
|
||||
p.setOfflinePending(set.getBoolean("Offline"));
|
||||
p.setToBeTransferred(transfer);
|
||||
|
||||
j.addPrisoner(p);
|
||||
//String permissions = set.getString("Permissions"); TODO
|
||||
}
|
||||
|
||||
set.close();
|
||||
ps.close();
|
||||
}else {
|
||||
pl.getLogger().warning("No prisoners were transferred from the old database since there aren't any jails defined.");
|
||||
}
|
||||
}
|
||||
|
||||
public void LoadCells() throws SQLException {
|
||||
Connection conn;
|
||||
PreparedStatement ps = null;
|
||||
ResultSet set = null;
|
||||
|
||||
conn = getConnection();
|
||||
ps = conn.prepareStatement("SELECT * FROM jail_cells");
|
||||
set = ps.executeQuery();
|
||||
while (set.next()) {
|
||||
String jailname = set.getString("JailName");
|
||||
String teleport = set.getString("Teleport");
|
||||
String sign = set.getString("Sign");
|
||||
String chest = set.getString("Chest");
|
||||
String player = set.getString("Player");
|
||||
String name = set.getString("Name");
|
||||
|
||||
if(name.isEmpty()) {
|
||||
pl.getLogger().warning("We need a cell name in Jail 3.0, refusing to load a cell due to this.");
|
||||
}else if(jailname.isEmpty()) {
|
||||
pl.getLogger().warning("Refusing to load a cell (" + name + ") as it does not contain a reference to a valid Jail.");
|
||||
}else {
|
||||
Jail j = pl.getJailManager().getJail(jailname);
|
||||
|
||||
if(j == null) {
|
||||
pl.getLogger().warning("Refusing to load a cell (" + name + ") as it references a Jail which doesn't exist.");
|
||||
}else if(j.isValidCell(name)) {
|
||||
pl.getLogger().warning("Refusing to load a duplicate named cell, " + name + ", as another one exists with that same name.");
|
||||
} else {
|
||||
Cell c = new Cell(name);
|
||||
|
||||
if(!teleport.isEmpty()) {
|
||||
String[] l = teleport.split(",");
|
||||
c.setTeleport(new SimpleLocation(j.getWorldName(), l[0], l[1], l[2]));
|
||||
}else {
|
||||
pl.getLogger().warning("Cell " + c.getName() + " in " + j.getName() + " has an empty teleport spot, might be buggy.");
|
||||
}
|
||||
|
||||
if(!chest.isEmpty()) {
|
||||
String[] ch = chest.split(",");
|
||||
c.setChestLocation(new Location(j.getWorld(), Double.valueOf(ch[0]), Double.valueOf(ch[1]), Double.valueOf(ch[2])));
|
||||
}else {
|
||||
pl.getLogger().warning("Cell " + c.getName() + " in " + j.getName() + " has no chest.");
|
||||
}
|
||||
|
||||
if(!sign.isEmpty()) {
|
||||
for(String s : sign.split(";")) {
|
||||
pl.debug(s);
|
||||
String[] si = s.split(",");
|
||||
c.addSign(new SimpleLocation(j.getWorldName(), si[0], si[1], si[2]));
|
||||
}
|
||||
}
|
||||
|
||||
//Load the prisoner if he is a valid prisoner
|
||||
if(!player.isEmpty()) {
|
||||
Prisoner p = j.getPrisonerByLastKnownName(player);
|
||||
|
||||
if(p != null) {
|
||||
j.removePrisoner(p);
|
||||
c.setPrisoner(p);
|
||||
}
|
||||
}
|
||||
|
||||
j.addCell(c, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set.close();
|
||||
ps.close();
|
||||
}
|
||||
|
||||
public void DeleteZone(String z) throws SQLException {
|
||||
Connection conn = getConnection();
|
||||
PreparedStatement ps = conn.prepareStatement("DELETE FROM jail_zones WHERE name = ?");
|
||||
ps.setString(1, z);
|
||||
ps.executeUpdate();
|
||||
conn.commit();
|
||||
ps.close();
|
||||
}
|
||||
|
||||
public void DeleteCell(int x, int y, int z) throws SQLException {
|
||||
Connection conn = getConnection();
|
||||
PreparedStatement ps = conn.prepareStatement("DELETE FROM jail_cells WHERE Teleport = ?");
|
||||
ps.setString(1, String.valueOf(x) + "," + String.valueOf(y) + "," + String.valueOf(z));
|
||||
ps.executeUpdate();
|
||||
conn.commit();
|
||||
|
||||
ps.close();
|
||||
}
|
||||
|
||||
public void DeletePrisoner(String p) throws SQLException {
|
||||
Connection conn = getConnection();
|
||||
PreparedStatement ps = conn.prepareStatement("DELETE FROM jail_prisoners WHERE PlayerName = ?");
|
||||
ps.setString(1, p);
|
||||
ps.executeUpdate();
|
||||
conn.commit();
|
||||
|
||||
ps.close();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user