Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4884bdf32 | ||
|
|
8def0834c4 | ||
|
|
70211f66b0 | ||
|
|
f424b3a76e | ||
|
|
1ccc5244e8 | ||
|
|
00fba43537 |
@@ -1,3 +1,3 @@
|
||||
#Build Number for ANT. Do not edit!
|
||||
#Fri Feb 03 16:29:04 CET 2012
|
||||
build.number=72
|
||||
#Fri Feb 03 17:08:59 CET 2012
|
||||
build.number=73
|
||||
|
||||
@@ -6,51 +6,65 @@ package de.sockenklaus.XmlStats.Datasource;
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import com.nidefawl.Achievements.AchievementListData;
|
||||
import com.nidefawl.Achievements.Achievements;
|
||||
import com.nidefawl.Achievements.PlayerAchievement;
|
||||
import com.nidefawl.Achievements.PlayerAchievementFile;
|
||||
import com.nidefawl.Achievements.PlayerAchievementSQL;
|
||||
|
||||
import de.sockenklaus.XmlStats.Util;
|
||||
import de.sockenklaus.XmlStats.Webserver;
|
||||
import de.sockenklaus.XmlStats.XmlStats;
|
||||
import de.sockenklaus.XmlStats.XmlStatsRegistry;
|
||||
|
||||
/**
|
||||
* @author socrates
|
||||
*
|
||||
*/
|
||||
public class AchievementsDS extends Datasource {
|
||||
private XmlStats xmlstats = null;
|
||||
|
||||
public AchievementsDS(){
|
||||
this.xmlstats = (XmlStats)XmlStatsRegistry.get("xmlstats");
|
||||
}
|
||||
//HashMap<String, PlayerAchievement> playerAchievementsList;
|
||||
private Plugin ach; // = (Achievements)XmlStatsRegistry.get("achievements");
|
||||
private static AchievementsDS instance;
|
||||
|
||||
public HashMap<String, AchievementListData> getAchievementsList(){
|
||||
Achievements ach = (Achievements)XmlStatsRegistry.get("achievements");
|
||||
|
||||
if(xmlstats.checkAchievements()){
|
||||
return ach.achievementList;
|
||||
}
|
||||
else return new HashMap<String, AchievementListData>();
|
||||
private AchievementsDS(){
|
||||
super();
|
||||
}
|
||||
|
||||
/*public void refreshPlayerAchievements(){
|
||||
PlayerAchievement pa;
|
||||
Achievements ach = (Achievements)XmlStatsRegistry.get("achievements");
|
||||
private void hookAchievements(){
|
||||
Plugin AchievementsTemp = this.xmlstats.getServer().getPluginManager().getPlugin("Achievements");
|
||||
Webserver webserver = Webserver.getInstance();
|
||||
|
||||
if(ach.useSQL){
|
||||
this.ach = AchievementsTemp;
|
||||
|
||||
XmlStats.LogInfo("Hooked into Achievements!");
|
||||
webserver.startAchievements();
|
||||
}
|
||||
|
||||
public static AchievementsDS getInstance(){
|
||||
if(instance == null){
|
||||
XmlStats.LogDebug("There's no instance of AchievementsDS");
|
||||
if(Util.checkAchievements()){
|
||||
XmlStats.LogDebug("Achievements seems to be there...");
|
||||
instance = new AchievementsDS();
|
||||
instance.hookAchievements();
|
||||
}
|
||||
else {
|
||||
XmlStats.LogWarn("Achievements not found! Can't hook into it.");
|
||||
}
|
||||
}
|
||||
}*/
|
||||
return instance;
|
||||
}
|
||||
|
||||
public HashMap<String, AchievementListData> getAchievementsList(){
|
||||
return this.getAchievements().achievementList;
|
||||
}
|
||||
|
||||
public PlayerAchievement getUserAchievement(String playerName){
|
||||
|
||||
PlayerAchievement pa;
|
||||
Achievements ach = (Achievements)XmlStatsRegistry.get("achievements");
|
||||
|
||||
if(ach.useSQL){
|
||||
if(this.getAchievements().useSQL){
|
||||
String location = ach.getDataFolder().getPath() + File.separator + playerName + ".txt";
|
||||
File fold = new File(location);
|
||||
|
||||
@@ -70,4 +84,10 @@ public class AchievementsDS extends Datasource {
|
||||
|
||||
return pa;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Achievements getAchievements(){
|
||||
return (Achievements)this.ach;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,23 +21,34 @@ import java.util.List;
|
||||
import org.bukkit.World;
|
||||
|
||||
import de.sockenklaus.XmlStats.XmlStats;
|
||||
import de.sockenklaus.XmlStats.XmlStatsRegistry;
|
||||
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
|
||||
|
||||
// TODO: Auto-generated Javadoc
|
||||
/**
|
||||
* The Class Datasource.
|
||||
*/
|
||||
public abstract class Datasource {
|
||||
public class Datasource {
|
||||
|
||||
private static Datasource instance;
|
||||
protected XmlStats xmlstats;
|
||||
|
||||
protected Datasource(){
|
||||
this.xmlstats = XmlStats.getInstance();
|
||||
}
|
||||
|
||||
public static Datasource getInstance(){
|
||||
if(instance == null) instance = new Datasource();
|
||||
return instance;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch all players.
|
||||
*
|
||||
* @return the array list
|
||||
*/
|
||||
public static ArrayList<String> fetchAllPlayers(){
|
||||
XmlStats xmlstats = (XmlStats)XmlStatsRegistry.get("xmlstats");
|
||||
List<World> worlds = xmlstats.getServer().getWorlds();
|
||||
public ArrayList<String> fetchAllPlayers(){
|
||||
List<World> worlds = this.xmlstats.getServer().getWorlds();
|
||||
ArrayList<String> result = new ArrayList<String>();
|
||||
|
||||
for(World world : worlds){
|
||||
@@ -58,17 +69,18 @@ public abstract class Datasource {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static boolean userExists(String player){
|
||||
return fetchAllPlayers().contains(player);
|
||||
public boolean userExists(String player){
|
||||
return this.fetchAllPlayers().contains(player);
|
||||
}
|
||||
|
||||
public static List<String> fetchValidUsers(List<String> list) throws XmlStatsException{
|
||||
public List<String> fetchValidUsers(List<String> list) throws XmlStatsException{
|
||||
ArrayList<String> output = new ArrayList<String>();
|
||||
|
||||
for (String possibleUser : list){
|
||||
if(Datasource.userExists(possibleUser)) output.add(possibleUser);
|
||||
if(this.userExists(possibleUser)) output.add(possibleUser);
|
||||
}
|
||||
if(output.isEmpty()) throw new XmlStatsException("No valid user has been found!");
|
||||
else return output;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,35 +14,64 @@
|
||||
*/
|
||||
package de.sockenklaus.XmlStats.Datasource;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import com.nijikokun.register.Register;
|
||||
import com.nijikokun.register.payment.Method;
|
||||
import com.nijikokun.register.payment.Method.MethodAccount;
|
||||
import com.nijikokun.register.payment.Methods;
|
||||
|
||||
import de.sockenklaus.XmlStats.Util;
|
||||
import de.sockenklaus.XmlStats.Webserver;
|
||||
import de.sockenklaus.XmlStats.XmlStats;
|
||||
import de.sockenklaus.XmlStats.XmlStatsRegistry;
|
||||
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
|
||||
|
||||
/**
|
||||
* The Class MoneyDS.
|
||||
*/
|
||||
public class BalancesDS extends Datasource {
|
||||
public class RegisterDS extends Datasource {
|
||||
|
||||
private ArrayList<String> allPlayers;
|
||||
private XmlStats xmlstats;
|
||||
private static RegisterDS instance;
|
||||
private Plugin register;
|
||||
|
||||
public BalancesDS(){
|
||||
this.allPlayers = fetchAllPlayers();
|
||||
this.xmlstats = (XmlStats)XmlStatsRegistry.get("xmlstats");
|
||||
private RegisterDS(){
|
||||
super();
|
||||
}
|
||||
|
||||
private void hookRegister(){
|
||||
Plugin registerTemp = this.xmlstats.getServer().getPluginManager().getPlugin("Register");
|
||||
Webserver webserver = Webserver.getInstance();
|
||||
|
||||
this.register = registerTemp;
|
||||
XmlStats.LogInfo("Hooked into Register");
|
||||
webserver.startRegister();
|
||||
}
|
||||
|
||||
public static RegisterDS getInstance(){
|
||||
if(instance == null){
|
||||
XmlStats.LogDebug("Theres no instance of RegisterDS");
|
||||
if(Util.checkRegister()){
|
||||
XmlStats.LogDebug("Seems like there's a working instancen of Register");
|
||||
instance = new RegisterDS();
|
||||
instance.hookRegister();
|
||||
}
|
||||
else {
|
||||
XmlStats.LogWarn("Register or no payment method found. Will not hook into Register.");
|
||||
}
|
||||
}
|
||||
return instance;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public HashMap<String, Double> getBalances() throws XmlStatsException {
|
||||
HashMap<String, Double> result = new HashMap<String, Double>();
|
||||
|
||||
for (String playerName : allPlayers){
|
||||
for (String playerName : fetchAllPlayers()){
|
||||
result.put(playerName, getBalance(playerName));
|
||||
}
|
||||
|
||||
@@ -52,7 +81,7 @@ public class BalancesDS extends Datasource {
|
||||
public Double getBalance(String playerName) throws XmlStatsException {
|
||||
Double result = 0.0;
|
||||
|
||||
if (xmlstats.checkRegister()){
|
||||
if (Util.checkRegister()){
|
||||
|
||||
Method paymentMethod = Methods.getMethod();
|
||||
|
||||
@@ -79,9 +108,13 @@ public class BalancesDS extends Datasource {
|
||||
int result = 0;
|
||||
|
||||
for(String playerName : list){
|
||||
result+=this.getBalance(playerName);
|
||||
result+=getBalance(playerName);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public Register getRegister(){
|
||||
return (Register)this.register;
|
||||
}
|
||||
}
|
||||
@@ -28,24 +28,47 @@ import com.nidefawl.Stats.datasource.Category;
|
||||
import com.nidefawl.Stats.datasource.PlayerStat;
|
||||
import com.nidefawl.Stats.datasource.PlayerStatSQL;*/
|
||||
|
||||
import de.sockenklaus.XmlStats.XmlStatsRegistry;
|
||||
import de.sockenklaus.XmlStats.Util;
|
||||
import de.sockenklaus.XmlStats.Webserver;
|
||||
import de.sockenklaus.XmlStats.XmlStats;
|
||||
//import de.sockenklaus.XmlStats.XmlStatsRegistry;
|
||||
|
||||
// TODO: Auto-generated Javadoc
|
||||
/**
|
||||
* The Class StatsDS.
|
||||
*/
|
||||
public class UserstatsDS extends Datasource {
|
||||
public class StatsDS extends Datasource {
|
||||
|
||||
private static Stats statsPlugin;
|
||||
private static StatsDS instance;
|
||||
private Plugin stats;
|
||||
|
||||
|
||||
private StatsDS(){
|
||||
super();
|
||||
}
|
||||
|
||||
public static StatsDS getInstance(){
|
||||
XmlStats.LogDebug("Let's get an instance of StatsDS");
|
||||
if(instance == null){
|
||||
XmlStats.LogDebug("There's no instance of StatsDS.");
|
||||
if(Util.checkStats()){
|
||||
XmlStats.LogDebug("Looks like Stats is up and running.");
|
||||
instance = new StatsDS();
|
||||
instance.hookStats();
|
||||
}
|
||||
else {
|
||||
XmlStats.LogWarn("Stats not found! Can't hook into it.");
|
||||
}
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
/**
|
||||
* Gets the data folder.
|
||||
*
|
||||
* @return the data folder
|
||||
*/
|
||||
public static File getDataFolder(){
|
||||
statsPlugin = (Stats)XmlStatsRegistry.get("stats");
|
||||
return statsPlugin.getDataFolder();
|
||||
public File getDataFolder(){
|
||||
return this.stats.getDataFolder();
|
||||
}
|
||||
|
||||
public static HashMap<String, HashMap<String, Integer>> getAddedStats(List<String> playerList){
|
||||
@@ -125,4 +148,19 @@ public class UserstatsDS extends Datasource {
|
||||
private static PlayerCache getPlayerCache(String playerName){
|
||||
return PlayerControl.getPlayerCache(playerName);
|
||||
}
|
||||
|
||||
private void hookStats(){
|
||||
Plugin StatsTemp = xmlstats.getServer().getPluginManager().getPlugin("Stats");
|
||||
Webserver webserver = Webserver.getInstance();
|
||||
|
||||
this.stats = StatsTemp;
|
||||
XmlStats.LogInfo("Hooked into Stats!");
|
||||
webserver.startStats();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Stats getStats(){
|
||||
return (Stats)this.stats;
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) [2011] [Pascal Koenig]
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of
|
||||
* the GNU General Public License as published by the Free Software Foundation; either version
|
||||
* 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with this program;
|
||||
* if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package de.sockenklaus.XmlStats.Datasource;
|
||||
|
||||
// TODO: Auto-generated Javadoc
|
||||
/**
|
||||
* The Class UsersDS.
|
||||
*/
|
||||
public class UsersDS extends Datasource {
|
||||
}
|
||||
@@ -17,9 +17,8 @@ public class NodeAchievements extends NodeArray {
|
||||
|
||||
public NodeAchievements(){
|
||||
super("achievements");
|
||||
AchievementsDS ads = new AchievementsDS();
|
||||
|
||||
HashMap<String, AchievementListData> achList = ads.getAchievementsList();
|
||||
HashMap<String, AchievementListData> achList = AchievementsDS.getInstance().getAchievementsList();
|
||||
|
||||
for(String achName : achList.keySet()){
|
||||
this.childNodes.add(new NodeAchievement(achList.get(achName)));
|
||||
|
||||
@@ -5,7 +5,7 @@ package de.sockenklaus.XmlStats.Objects;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import de.sockenklaus.XmlStats.Datasource.UserstatsDS;
|
||||
import de.sockenklaus.XmlStats.Datasource.StatsDS;
|
||||
|
||||
/**
|
||||
* @author socrates
|
||||
@@ -21,6 +21,7 @@ public class NodeCategories extends NodeArray {
|
||||
*/
|
||||
public NodeCategories(String userName) {
|
||||
this();
|
||||
|
||||
HashMap<String, HashMap<String, Integer>> userStat = UserstatsDS.getStats(userName);
|
||||
|
||||
for(String catName : userStat.keySet()){
|
||||
|
||||
@@ -5,7 +5,6 @@ package de.sockenklaus.XmlStats.Objects;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
|
||||
/**
|
||||
* @author socrates
|
||||
*
|
||||
|
||||
@@ -7,7 +7,6 @@ import org.bukkit.Server;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import de.sockenklaus.XmlStats.XmlStats;
|
||||
import de.sockenklaus.XmlStats.XmlStatsRegistry;
|
||||
import de.sockenklaus.XmlStats.Datasource.Datasource;
|
||||
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
|
||||
|
||||
@@ -19,8 +18,8 @@ public class NodeUser extends NodeList {
|
||||
|
||||
public NodeUser(String name) throws XmlStatsException{
|
||||
super("user");
|
||||
if (Datasource.userExists(name)){
|
||||
Server server = ((XmlStats)XmlStatsRegistry.get("xmlstats")).getServer();
|
||||
if (Datasource.getInstance().userExists(name)){
|
||||
Server server = XmlStats.getInstance().getServer();
|
||||
Player player = server.getPlayer(name);
|
||||
|
||||
String status = (player != null && player.isOnline()) ?"online":"offline";
|
||||
|
||||
@@ -16,10 +16,9 @@ import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
|
||||
public class NodeUserAchievements extends NodeArray {
|
||||
public NodeUserAchievements(String userName) throws XmlStatsException{
|
||||
super("achivements");
|
||||
AchievementsDS ads = new AchievementsDS();
|
||||
|
||||
if (Datasource.userExists(userName)){
|
||||
PlayerAchievement pa = ads.getUserAchievement(userName);
|
||||
if (Datasource.getInstance().userExists(userName)){
|
||||
PlayerAchievement pa = AchievementsDS.getInstance().getUserAchievement(userName);
|
||||
|
||||
for(String paName : pa.achievements.keySet()){
|
||||
this.childNodes.add(new NodeUserAchievement(paName, pa.get(paName)));
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.bukkit.configuration.file.YamlConfiguration;
|
||||
public class Settings {
|
||||
|
||||
private static final String configFilename = "config.yml";
|
||||
|
||||
private YamlConfiguration conf;
|
||||
|
||||
/**
|
||||
@@ -33,8 +34,8 @@ public class Settings {
|
||||
*
|
||||
* @param xmlStats the xml stats
|
||||
*/
|
||||
public Settings(XmlStats xmlStats){
|
||||
File f = new File(xmlStats.getDataFolder(), configFilename);
|
||||
private Settings(){
|
||||
File f = new File(XmlStats.getInstance().getDataFolder(), configFilename);
|
||||
|
||||
if(f.exists()){
|
||||
conf = YamlConfiguration.loadConfiguration(f);
|
||||
@@ -51,6 +52,11 @@ public class Settings {
|
||||
}
|
||||
}
|
||||
|
||||
public static synchronized Settings getInstance(){
|
||||
if(instance == null) instance = new Settings();
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the int.
|
||||
*
|
||||
@@ -58,7 +64,7 @@ public class Settings {
|
||||
* @return the int
|
||||
*/
|
||||
public int getInt(String path){
|
||||
return conf.getInt(path, -1);
|
||||
return this.conf.getInt(path, -1);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -68,7 +74,7 @@ public class Settings {
|
||||
* @return the boolean
|
||||
*/
|
||||
public boolean getBoolean(String path){
|
||||
return conf.getBoolean(path, false);
|
||||
return this.conf.getBoolean(path, false);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -78,7 +84,7 @@ public class Settings {
|
||||
* @return the string
|
||||
*/
|
||||
public String getString(String path){
|
||||
return conf.getString(path, "");
|
||||
return this.conf.getString(path, "");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
45
src/de/sockenklaus/XmlStats/Util.java
Normal file
45
src/de/sockenklaus/XmlStats/Util.java
Normal file
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package de.sockenklaus.XmlStats;
|
||||
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import com.nijikokun.register.payment.Methods;
|
||||
|
||||
/**
|
||||
* @author socrates
|
||||
*
|
||||
*/
|
||||
public class Util {
|
||||
/**
|
||||
* Checks if is Achievements hooked.
|
||||
*
|
||||
* @return true, if is Achievements hooked
|
||||
*/
|
||||
public static boolean checkAchievements(){
|
||||
Plugin AchievementsTemp = XmlStats.getInstance().getServer().getPluginManager().getPlugin("Achievements");
|
||||
|
||||
if(AchievementsTemp != null && AchievementsTemp.getClass().getName().equals("com.nidefawl.Achievements.Achievements") && AchievementsTemp.isEnabled()) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean checkRegister(){
|
||||
Plugin registerTemp = XmlStats.getInstance().getServer().getPluginManager().getPlugin("Register");
|
||||
|
||||
if (registerTemp != null && registerTemp.getClass().getName().equals("com.nijikokun.register.Register") && registerTemp.isEnabled() && Methods.hasMethod()) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if is stats hooked.
|
||||
*
|
||||
* @return true, if is stats hooked
|
||||
*/
|
||||
public static boolean checkStats(){
|
||||
Plugin StatsTemp = XmlStats.getInstance().getServer().getPluginManager().getPlugin("Stats");
|
||||
|
||||
if(StatsTemp != null && StatsTemp.getClass().getName().equals("com.nidefawl.Stats.Stats") && StatsTemp.isEnabled()) return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,8 @@ public class Webserver {
|
||||
|
||||
private InetSocketAddress address;
|
||||
private HttpServer server = null;
|
||||
private XmlStats xmlstats = null;
|
||||
private static Webserver instance;
|
||||
private Settings settings;
|
||||
|
||||
/**
|
||||
* Instantiates a new web server.
|
||||
@@ -37,10 +38,23 @@ public class Webserver {
|
||||
* @param port the port
|
||||
* @throws IOException Signals that an I/O exception has occurred.
|
||||
*/
|
||||
public Webserver() throws IOException {
|
||||
Settings settingsTemp = (Settings)XmlStatsRegistry.get("settings");
|
||||
this.xmlstats = (XmlStats)XmlStatsRegistry.get("xmlstats");
|
||||
this.start(settingsTemp.getInt("options.webserver-port"));
|
||||
private Webserver() throws IOException {
|
||||
this.settings = Settings.getInstance();
|
||||
this.start(this.settings.getInt("options.webserver-port"));
|
||||
}
|
||||
|
||||
public static synchronized Webserver getInstance() {
|
||||
if(instance == null) {
|
||||
try {
|
||||
instance = new Webserver();
|
||||
}
|
||||
catch (IOException ex){
|
||||
XmlStats.LogError("An error occured while creating the webserver!");
|
||||
XmlStats.LogError(ex.getMessage());
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -63,9 +77,7 @@ public class Webserver {
|
||||
public void reload() throws IOException {
|
||||
this.stop();
|
||||
|
||||
Settings settingsTemp = (Settings)XmlStatsRegistry.get("settings");
|
||||
|
||||
this.start(settingsTemp.getInt("options.webserver-port"));
|
||||
this.start(this.settings.getInt("options.webserver-port"));
|
||||
}
|
||||
|
||||
private void start(int port) throws IOException {
|
||||
@@ -81,13 +93,19 @@ public class Webserver {
|
||||
this.server.createContext("/user_list.xml", new UserList());
|
||||
XmlStats.LogDebug("Created context /user_list.xml.");
|
||||
|
||||
this.server.createContext("/auth_register.xml", new AuthRegister());
|
||||
XmlStats.LogDebug("Created context /auth_register.xml.");
|
||||
|
||||
this.server.createContext("/auth_deregister.xml", new AuthDeregister());
|
||||
XmlStats.LogDebug("Created context /auth_deregister.xml.");
|
||||
|
||||
this.server.start();
|
||||
XmlStats.LogDebug("Started webserver.");
|
||||
}
|
||||
|
||||
protected void startRegister(){
|
||||
public void startRegister(){
|
||||
XmlStats.LogDebug("Casting startRegister()");
|
||||
if (this.isRunning() && xmlstats.checkRegister()){
|
||||
if (this.isRunning() && Util.checkRegister()){
|
||||
server.createContext("/user_balances.xml", new UserBalances());
|
||||
XmlStats.LogInfo("Register seems to be loaded correctly. Enabling /user_balances.xml");
|
||||
}
|
||||
@@ -96,8 +114,8 @@ public class Webserver {
|
||||
}
|
||||
}
|
||||
|
||||
protected void startAchievements(){
|
||||
if(this.isRunning() && xmlstats.checkAchievements()){
|
||||
public void startAchievements(){
|
||||
if(this.isRunning() && Util.checkAchievements()){
|
||||
server.createContext("/user_achievements.xml", new UserAchievements());
|
||||
server.createContext("/achievements_list.xml", new AchievementsList());
|
||||
XmlStats.LogInfo("Achievements seems to be loaded correctly. Enabling /user_achievements.xml");
|
||||
@@ -107,8 +125,8 @@ public class Webserver {
|
||||
}
|
||||
}
|
||||
|
||||
protected void startStats(){
|
||||
if(this.isRunning() && xmlstats.checkStats()){
|
||||
public void startStats(){
|
||||
if(this.isRunning() && Util.checkStats()){
|
||||
server.createContext("/user_stats.xml", new UserStats());
|
||||
XmlStats.LogInfo("Stats seems to be loaded correctly. Enabling /user_stats.xml");
|
||||
}
|
||||
|
||||
87
src/de/sockenklaus/XmlStats/XSAuth.java
Normal file
87
src/de/sockenklaus/XmlStats/XSAuth.java
Normal file
@@ -0,0 +1,87 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package de.sockenklaus.XmlStats;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.bukkit.util.config.Configuration;
|
||||
|
||||
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
|
||||
|
||||
/**
|
||||
* @author socrates
|
||||
*
|
||||
*/
|
||||
public class XSAuth {
|
||||
private static XSAuth instance;
|
||||
|
||||
private File authKeyFile;
|
||||
private Configuration authKeyConf;
|
||||
private String currentKey;
|
||||
private String pendingKey;
|
||||
|
||||
private XSAuth(){
|
||||
this.authKeyFile = new File(XmlStats.getInstance().getDataFolder(), "auth_keys.yml");
|
||||
this.currentKey = "";
|
||||
|
||||
this.authKeyConf = new Configuration(this.authKeyFile);
|
||||
if(this.authKeyFile.exists()){
|
||||
|
||||
this.authKeyConf.load();
|
||||
}
|
||||
else {
|
||||
this.authKeyConf.setProperty("keys", new ArrayList<String>());
|
||||
this.authKeyConf.save();
|
||||
}
|
||||
}
|
||||
|
||||
public static XSAuth getInstance(){
|
||||
if(instance == null) instance = new XSAuth();
|
||||
return instance;
|
||||
}
|
||||
|
||||
public boolean whitelistHasKey(String key){
|
||||
if(this.authKeyConf.getList("keys") != null && this.authKeyConf.getList("keys").contains(key)) return true;
|
||||
else return false;
|
||||
}
|
||||
|
||||
public void authAddKey(String key){
|
||||
}
|
||||
|
||||
public void setCurrentKey(String currentKey){
|
||||
this.currentKey = currentKey;
|
||||
}
|
||||
|
||||
public String getCurrentKey(){
|
||||
return this.currentKey;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws XmlStatsException
|
||||
*
|
||||
*/
|
||||
public void addCurrentToWhitelist() throws XmlStatsException {
|
||||
|
||||
if(whitelistHasKey(this.currentKey)){
|
||||
throw new XmlStatsException("Current key "+this.currentKey+" is already known to the whitelist.");
|
||||
}
|
||||
|
||||
else if(this.currentKey.equals(this.pendingKey)){
|
||||
throw new XmlStatsException("Current key "+this.currentKey+" is already awaiting clearance.");
|
||||
}
|
||||
else {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void remCurrentFromWhitelist() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
@@ -37,13 +38,22 @@ public class XmlStats extends JavaPlugin {
|
||||
private String version;
|
||||
private final static String logprefix = "[XmlStats]";
|
||||
private boolean enabled = false;
|
||||
private static XmlStats instance;
|
||||
|
||||
public static XmlStats getInstance(){
|
||||
if(instance == null){
|
||||
instance = new XmlStats();
|
||||
}
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.bukkit.plugin.Plugin#onDisable()
|
||||
*/
|
||||
@Override
|
||||
public void onDisable() {
|
||||
Webserver webserverTemp = (Webserver)XmlStatsRegistry.get("webserver");
|
||||
Webserver webserverTemp = Webserver.getInstance();
|
||||
|
||||
if(this.enabled && webserverTemp.isRunning()){
|
||||
this.enabled = false;
|
||||
@@ -51,7 +61,6 @@ public class XmlStats extends JavaPlugin {
|
||||
webserverTemp.stop();
|
||||
LogDebug("Webserver stopped.");
|
||||
|
||||
XmlStatsRegistry.flush();
|
||||
getServer().getScheduler().cancelTasks(this);
|
||||
}
|
||||
LogInfo("XmlStats Disabled");
|
||||
@@ -66,10 +75,9 @@ public class XmlStats extends JavaPlugin {
|
||||
|
||||
getDataFolder().mkdirs();
|
||||
|
||||
XmlStatsRegistry.put("settings", new Settings(this));
|
||||
XmlStatsRegistry.put("xmlstats", this);
|
||||
instance = this;
|
||||
|
||||
Settings settingsTemp = (Settings)XmlStatsRegistry.get("settings");
|
||||
Settings settingsTemp = Settings.getInstance();
|
||||
|
||||
LogDebug("Settings read:");
|
||||
LogDebug("options.webserver-enabled: "+settingsTemp.getBoolean("options.webserver-enabled"));
|
||||
@@ -77,19 +85,12 @@ public class XmlStats extends JavaPlugin {
|
||||
LogDebug("options.verbose-enabled: "+settingsTemp.getBoolean("options.verbose-enabled"));
|
||||
|
||||
if (settingsTemp.getBoolean("options.webserver-enabled")){
|
||||
try {
|
||||
XmlStatsRegistry.put("webserver", new Webserver());
|
||||
Webserver.getInstance();
|
||||
|
||||
this.enabled = true;
|
||||
LogInfo("XmStats "+this.version+" enabled");
|
||||
this.hookPlugins();
|
||||
this.registerEvents();
|
||||
}
|
||||
catch (Exception ex){
|
||||
LogError("Fehler beim Erstellen des Webservers:");
|
||||
LogError(ex.getMessage());
|
||||
ex.printStackTrace();
|
||||
}
|
||||
this.enabled = true;
|
||||
LogInfo("XmStats "+this.version+" enabled");
|
||||
this.hookPlugins();
|
||||
this.registerEvents();
|
||||
}
|
||||
else {
|
||||
LogWarn("Webserver ist derzeit in der "+settingsTemp.getSettingsFilename()+" deaktiviert.");
|
||||
@@ -131,7 +132,7 @@ public class XmlStats extends JavaPlugin {
|
||||
* @param Message the message
|
||||
*/
|
||||
public static void LogDebug(String Message){
|
||||
Settings settingsTemp = (Settings)XmlStatsRegistry.get("settings");
|
||||
Settings settingsTemp = Settings.getInstance();
|
||||
if(settingsTemp.getBoolean("options.verbose-enabled")){
|
||||
log.log(Level.INFO, logprefix+"[DEBUG] "+Message);
|
||||
}
|
||||
@@ -141,23 +142,9 @@ public class XmlStats extends JavaPlugin {
|
||||
* Hook plugins.
|
||||
*/
|
||||
protected void hookPlugins(){
|
||||
this.hookAchievements();
|
||||
this.hookRegister();
|
||||
this.hookStats();
|
||||
}
|
||||
|
||||
protected void hookRegister(){
|
||||
Plugin registerTemp = getServer().getPluginManager().getPlugin("Register");
|
||||
Webserver webserver = (Webserver)XmlStatsRegistry.get("webserver");
|
||||
|
||||
if (this.checkRegister()) {
|
||||
XmlStatsRegistry.put("register", (Register)registerTemp);
|
||||
LogInfo("Hooked into Register");
|
||||
webserver.startRegister();
|
||||
}
|
||||
else {
|
||||
LogWarn("Register or no payment method found! Can't hook into it.");
|
||||
}
|
||||
if(Util.checkStats()) StatsDS.getInstance();
|
||||
if(Util.checkAchievements()) AchievementsDS.getInstance();
|
||||
if(Util.checkRegister()) RegisterDS.getInstance();
|
||||
}
|
||||
|
||||
protected void hookAchievements(){
|
||||
@@ -208,30 +195,6 @@ public class XmlStats extends JavaPlugin {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if is i conomy hooked.
|
||||
*
|
||||
* @return true, if is i conomy hooked
|
||||
*/
|
||||
public boolean checkRegister(){
|
||||
Plugin registerTemp = getServer().getPluginManager().getPlugin("Register");
|
||||
|
||||
if (registerTemp != null && registerTemp.getClass().getName().equals("com.nijikokun.register.Register") && registerTemp.isEnabled() && Methods.hasMethod()) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if is Achievements hooked.
|
||||
*
|
||||
* @return true, if is Achievements hooked
|
||||
*/
|
||||
public boolean checkAchievements(){
|
||||
Plugin AchievementsTemp = getServer().getPluginManager().getPlugin("Achievements");
|
||||
|
||||
if(AchievementsTemp != null && AchievementsTemp.getClass().getName().equals("com.nidefawl.Achievements.Achievements") && AchievementsTemp.isEnabled()) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.bukkit.plugin.java.JavaPlugin#onCommand(org.bukkit.command.CommandSender, org.bukkit.command.Command, java.lang.String, java.lang.String[])
|
||||
*/
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package de.sockenklaus.XmlStats;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
// TODO: Auto-generated Javadoc
|
||||
/**
|
||||
* The Class XmlStatsRegistry.
|
||||
*
|
||||
* @author socrates
|
||||
*/
|
||||
public class XmlStatsRegistry {
|
||||
private HashMap<String, Object> register = null;
|
||||
private static XmlStatsRegistry instance = null;
|
||||
|
||||
/**
|
||||
* Instantiates a new xml stats registry.
|
||||
*/
|
||||
private XmlStatsRegistry(){
|
||||
register = new HashMap<String, Object>();
|
||||
}
|
||||
|
||||
/**
|
||||
* Put.
|
||||
*
|
||||
* @param key the key
|
||||
* @param value the value
|
||||
*/
|
||||
public static void put(String key, Object value){
|
||||
if(instance == null){
|
||||
instance = new XmlStatsRegistry();
|
||||
}
|
||||
instance.register.put(key, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get.
|
||||
*
|
||||
* @param key the key
|
||||
* @return the object
|
||||
*/
|
||||
static public Object get(String key){
|
||||
if(instance == null){
|
||||
instance = new XmlStatsRegistry();
|
||||
}
|
||||
return instance.register.get(key);
|
||||
}
|
||||
|
||||
/**
|
||||
* Flush.
|
||||
*/
|
||||
public static void flush(){
|
||||
instance = null;
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,10 @@ import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.server.PluginDisableEvent;
|
||||
import org.bukkit.event.server.PluginEnableEvent;
|
||||
|
||||
import de.sockenklaus.XmlStats.Datasource.AchievementsDS;
|
||||
import de.sockenklaus.XmlStats.Datasource.RegisterDS;
|
||||
import de.sockenklaus.XmlStats.Datasource.StatsDS;
|
||||
|
||||
/**
|
||||
* @author socrates
|
||||
*
|
||||
@@ -43,21 +47,23 @@ public class XmlStatsServerListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onPluginEnable(PluginEnableEvent event){
|
||||
|
||||
XmlStats.LogDebug("onPluginEnable fired");
|
||||
|
||||
if(this.identifyPlugin(event, "stats 2.0")){
|
||||
XmlStats.LogDebug("Stats 2.0 fired the event");
|
||||
this.plugin.hookStats();
|
||||
}
|
||||
if(this.identifyPlugin(event, "achievements")){
|
||||
this.plugin.hookAchievements();
|
||||
if(this.identifyPlugin(event, "achievements") && Util.checkAchievements()){
|
||||
AchievementsDS.getInstance();
|
||||
}
|
||||
if(this.identifyPlugin(event, "register")){
|
||||
this.plugin.hookRegister();
|
||||
if(this.identifyPlugin(event, "register") && Util.checkRegister()){
|
||||
RegisterDS.getInstance();
|
||||
}
|
||||
}
|
||||
|
||||
private boolean identifyPlugin(PluginEnableEvent event, String name){
|
||||
XmlStats.LogDebug(event.getPlugin().getDescription().getName()+" fired an event!");
|
||||
return event.getPlugin().getDescription().getName().equalsIgnoreCase(name);
|
||||
}
|
||||
}
|
||||
|
||||
49
src/de/sockenklaus/XmlStats/XmlWorkers/AuthDeregister.java
Normal file
49
src/de/sockenklaus/XmlStats/XmlWorkers/AuthDeregister.java
Normal file
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package de.sockenklaus.XmlStats.XmlWorkers;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
|
||||
|
||||
/**
|
||||
* @author socrates
|
||||
*
|
||||
*/
|
||||
public class AuthDeregister extends XmlWorker {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see de.sockenklaus.XmlStats.XmlWorkers.XmlWorker#getXml(java.util.Map)
|
||||
*/
|
||||
@Override
|
||||
protected Element getXml(Map<String, List<String>> parameters)
|
||||
throws XmlStatsException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see de.sockenklaus.XmlStats.XmlWorkers.XmlWorker#getSumXml(java.util.List, java.util.Map)
|
||||
*/
|
||||
@Override
|
||||
protected Element getSumXml(List<String> playerList,
|
||||
Map<String, List<String>> parameters) throws XmlStatsException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see de.sockenklaus.XmlStats.XmlWorkers.XmlWorker#getUserXml(java.util.List, java.util.Map)
|
||||
*/
|
||||
@Override
|
||||
protected Element getUserXml(List<String> playerList,
|
||||
Map<String, List<String>> parameters) throws XmlStatsException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
114
src/de/sockenklaus/XmlStats/XmlWorkers/AuthRegister.java
Normal file
114
src/de/sockenklaus/XmlStats/XmlWorkers/AuthRegister.java
Normal file
@@ -0,0 +1,114 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package de.sockenklaus.XmlStats.XmlWorkers;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.util.config.Configuration;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import de.sockenklaus.XmlStats.XSAuth;
|
||||
import de.sockenklaus.XmlStats.XmlStats;
|
||||
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
|
||||
|
||||
/**
|
||||
* @author socrates
|
||||
*
|
||||
*/
|
||||
public class AuthRegister extends XmlWorker {
|
||||
|
||||
private String authKeyFilename;
|
||||
private String tempAuthKeyFilname;
|
||||
|
||||
public AuthRegister(){
|
||||
super();
|
||||
this.authKeyFilename = "auth_keys.yaml";
|
||||
this.tempAuthKeyFilname = "auth_keys_tmp.yml";
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see de.sockenklaus.XmlStats.XmlWorkers.XmlWorker#getXml(java.util.Map)
|
||||
*/
|
||||
@Override
|
||||
protected Element getXml(Map<String, List<String>> parameters) throws XmlStatsException {
|
||||
XSAuth authmodule = XSAuth.getInstance();
|
||||
|
||||
if(authmodule.getCurrentKey().isEmpty()){
|
||||
XmlStats.LogWarn("auth_register: There should be a key, but acutally there is no...");
|
||||
throw new XmlStatsException("auth_register: There should be a key, but actually there is no...");
|
||||
}
|
||||
else if (parameters.containsKey("delete") && parameters.get("delete").get(0).equals("true")){
|
||||
authmodule.remCurrentFromWhitelist();
|
||||
}
|
||||
else {
|
||||
authmodule.addCurrentToWhitelist();
|
||||
}
|
||||
|
||||
/*if(parameters.containsKey("key")){
|
||||
for (String key : parameters.get("key")){
|
||||
XmlStats x_temp = XmlStats.getInstance();
|
||||
File authKeyFile = new File(x_temp.getDataFolder(), this.authKeyFilename);
|
||||
|
||||
Configuration authKeyConf = new Configuration(authKeyFile);
|
||||
if(authKeyFile.exists()){
|
||||
authKeyConf.load();
|
||||
/*
|
||||
* Hier kann geschaut werden, ob der Key in der AuthKey steht
|
||||
*
|
||||
*
|
||||
return null;
|
||||
}
|
||||
else {
|
||||
/*
|
||||
* Datei existiert nicht, Key kann nicht existieren
|
||||
*
|
||||
File tempAuthKeyFile = new File(x_temp.getDataFolder(), this.tempAuthKeyFilname);
|
||||
|
||||
Configuration tempAuthKeyConf = new Configuration(tempAuthKeyFile);
|
||||
if(tempAuthKeyFile.exists()){
|
||||
tempAuthKeyConf.load();
|
||||
if(tempAuthKeyConf.getList("keys") != null && tempAuthKeyConf.getList("keys").contains(key)){
|
||||
/*
|
||||
* Key existiert schon in auth_keys_tmp... mach was
|
||||
*
|
||||
return null;
|
||||
}
|
||||
else tempAuthKeyConf.setProperty("keys.key",key);
|
||||
}
|
||||
else {
|
||||
tempAuthKeyConf.setProperty("keys.key", key);
|
||||
/*
|
||||
* Key wurde in auth_keys_tmp eingetragen... jetzt reagieren.
|
||||
*
|
||||
return null;
|
||||
}
|
||||
|
||||
tempAuthKeyConf.save();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else throw new XmlStatsException("No key given!");*/
|
||||
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see de.sockenklaus.XmlStats.XmlWorkers.XmlWorker#getSumXml(java.util.List, java.util.Map)
|
||||
*/
|
||||
@Override
|
||||
protected Element getSumXml(List<String> playerList, Map<String, List<String>> parameters) throws XmlStatsException {
|
||||
return this.getXml(parameters);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see de.sockenklaus.XmlStats.XmlWorkers.XmlWorker#getUserXml(java.util.List, java.util.Map)
|
||||
*/
|
||||
@Override
|
||||
protected Element getUserXml(List<String> playerList, Map<String, List<String>> parameters) throws XmlStatsException {
|
||||
return this.getXml(parameters);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,7 +8,6 @@ import java.util.Map;
|
||||
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import de.sockenklaus.XmlStats.Datasource.AchievementsDS;
|
||||
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
|
||||
import de.sockenklaus.XmlStats.Objects.NodeUser;
|
||||
import de.sockenklaus.XmlStats.Objects.NodeUserAchievements;
|
||||
@@ -20,12 +19,6 @@ import de.sockenklaus.XmlStats.Objects.NodeUsers;
|
||||
*/
|
||||
public class UserAchievements extends XmlWorker {
|
||||
|
||||
AchievementsDS achDS;
|
||||
|
||||
public UserAchievements(){
|
||||
this.achDS = new AchievementsDS();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see de.sockenklaus.XmlStats.XmlWorkers.XmlWorker#getXML(java.util.Map)
|
||||
*/
|
||||
|
||||
@@ -19,7 +19,7 @@ import java.util.Map;
|
||||
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import de.sockenklaus.XmlStats.Datasource.BalancesDS;
|
||||
import de.sockenklaus.XmlStats.Datasource.RegisterDS;
|
||||
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
|
||||
import de.sockenklaus.XmlStats.Objects.NodeList;
|
||||
import de.sockenklaus.XmlStats.Objects.NodeText;
|
||||
@@ -32,10 +32,10 @@ import de.sockenklaus.XmlStats.Objects.NodeUsers;
|
||||
*/
|
||||
public class UserBalances extends XmlWorker {
|
||||
|
||||
private BalancesDS moneyDS;
|
||||
private RegisterDS regDS;
|
||||
|
||||
public UserBalances(){
|
||||
this.moneyDS = new BalancesDS();
|
||||
this.regDS = RegisterDS.getInstance();
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ public class UserBalances extends XmlWorker {
|
||||
|
||||
for(String userName : playerList){
|
||||
NodeUser node_user = new NodeUser(userName);
|
||||
node_user.appendChild(new NodeText("balance", moneyDS.getBalance(userName)));
|
||||
node_user.appendChild(new NodeText("balance", this.regDS.getBalance(userName)));
|
||||
|
||||
node_users.appendChild(node_user);
|
||||
}
|
||||
@@ -78,7 +78,7 @@ public class UserBalances extends XmlWorker {
|
||||
node_users.appendChild(node_user);
|
||||
}
|
||||
|
||||
int sum = moneyDS.getSum(userList);
|
||||
int sum = this.regDS.getSum(userList);
|
||||
node_sum.appendChild(new NodeText("balance", sum));
|
||||
|
||||
return node_sum.getXml(this.doc);
|
||||
|
||||
@@ -38,7 +38,7 @@ public class UserList extends XmlWorker {
|
||||
|
||||
NodeUsers node_users = new NodeUsers();
|
||||
|
||||
for(String playerName : Datasource.fetchAllPlayers()){
|
||||
for(String playerName : Datasource.getInstance().fetchAllPlayers()){
|
||||
node_users.appendChild(new NodeUser(playerName));
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,13 @@ import java.util.List;
|
||||
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
<<<<<<< HEAD
|
||||
import com.nidefawl.Stats.datasource.Category;
|
||||
|
||||
import de.sockenklaus.XmlStats.Datasource.StatsDS;
|
||||
=======
|
||||
import de.sockenklaus.XmlStats.Datasource.UserstatsDS;
|
||||
>>>>>>> stats2.0
|
||||
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
|
||||
import de.sockenklaus.XmlStats.Objects.NodeCategories;
|
||||
import de.sockenklaus.XmlStats.Objects.NodeCategory;
|
||||
@@ -57,7 +63,11 @@ public class UserStats extends XmlWorker {
|
||||
node_users.appendChild(new NodeUser(userName));
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
HashMap<String, Category> addedStats = StatsDS.getInstance().getAddedStats(playerList);
|
||||
=======
|
||||
HashMap<String, HashMap<String, Integer>> addedStats = UserstatsDS.getAddedStats(playerList);
|
||||
>>>>>>> stats2.0
|
||||
|
||||
for(String catName : addedStats.keySet()){
|
||||
NodeCategory node_cat = new NodeCategory(catName, addedStats.get(catName));
|
||||
|
||||
@@ -44,8 +44,8 @@ import com.sun.net.httpserver.HttpContext;
|
||||
import com.sun.net.httpserver.HttpHandler;
|
||||
import com.sun.net.httpserver.HttpExchange;
|
||||
|
||||
import de.sockenklaus.XmlStats.XSAuth;
|
||||
import de.sockenklaus.XmlStats.XmlStats;
|
||||
import de.sockenklaus.XmlStats.XmlStatsRegistry;
|
||||
import de.sockenklaus.XmlStats.Datasource.Datasource;
|
||||
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
|
||||
|
||||
@@ -68,7 +68,7 @@ public abstract class XmlWorker implements HttpHandler {
|
||||
*/
|
||||
public void handle(HttpExchange exchange) {
|
||||
Map<String, List<String>> parameters = new HashMap<String, List<String>>();
|
||||
|
||||
Datasource datasource = Datasource.getInstance();
|
||||
Headers headers = exchange.getRequestHeaders();
|
||||
|
||||
if("get".equalsIgnoreCase(exchange.getRequestMethod())){
|
||||
@@ -103,7 +103,7 @@ public abstract class XmlWorker implements HttpHandler {
|
||||
List<String> userList;
|
||||
this.doc.appendChild(root);
|
||||
|
||||
XmlStats xmlstats = (XmlStats)XmlStatsRegistry.get("xmlstats");
|
||||
XmlStats xmlstats = XmlStats.getInstance();
|
||||
|
||||
Element server = this.doc.createElement("server");
|
||||
server.appendChild(getTextElem("version", xmlstats.getServer().getVersion()));
|
||||
@@ -116,8 +116,14 @@ public abstract class XmlWorker implements HttpHandler {
|
||||
parameters = parseParameters(queryString);
|
||||
|
||||
/*
|
||||
* Create the XML doc stuff....
|
||||
* Check whether there is an auth key or not and set the currentKey
|
||||
*/
|
||||
XSAuth authmodule = XSAuth.getInstance();
|
||||
if (parameters.containsKey("authkey") && !parameters.get("authkey").isEmpty()){
|
||||
authmodule.setCurrentKey(parameters.get("authkey").get(0));
|
||||
}
|
||||
else authmodule.setCurrentKey("");
|
||||
|
||||
|
||||
/*
|
||||
* Actually create the XML
|
||||
@@ -125,10 +131,10 @@ public abstract class XmlWorker implements HttpHandler {
|
||||
|
||||
if(parameters.containsKey("user")){
|
||||
if (parameters.get("user").contains("*")){
|
||||
userList = Datasource.fetchAllPlayers();
|
||||
userList = datasource.fetchAllPlayers();
|
||||
}
|
||||
else {
|
||||
userList = Datasource.fetchValidUsers(parameters.get("user"));
|
||||
userList = datasource.fetchValidUsers(parameters.get("user"));
|
||||
}
|
||||
|
||||
root.appendChild(getUserXml(userList, parameters));
|
||||
@@ -136,10 +142,10 @@ public abstract class XmlWorker implements HttpHandler {
|
||||
|
||||
if(parameters.containsKey("sum")){
|
||||
if(parameters.get("sum").contains("*")){
|
||||
userList = Datasource.fetchAllPlayers();
|
||||
userList = datasource.fetchAllPlayers();
|
||||
}
|
||||
else {
|
||||
userList = Datasource.fetchValidUsers(parameters.get("sum"));
|
||||
userList = datasource.fetchValidUsers(parameters.get("sum"));
|
||||
}
|
||||
root.appendChild(getSumXml(userList, parameters));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user