diff --git a/.build.number b/.build.number index f32b18b..257f8bd 100644 --- a/.build.number +++ b/.build.number @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Thu Oct 06 22:29:49 CEST 2011 -build.number=43 +#Sat Oct 08 12:44:09 CEST 2011 +build.number=47 diff --git a/src/de/sockenklaus/XmlStats/Webserver.java b/src/de/sockenklaus/XmlStats/Webserver.java index 05dd52d..bb8d7f0 100644 --- a/src/de/sockenklaus/XmlStats/Webserver.java +++ b/src/de/sockenklaus/XmlStats/Webserver.java @@ -81,6 +81,12 @@ 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."); } diff --git a/src/de/sockenklaus/XmlStats/XmlWorkers/AuthDeregister.java b/src/de/sockenklaus/XmlStats/XmlWorkers/AuthDeregister.java new file mode 100644 index 0000000..719d862 --- /dev/null +++ b/src/de/sockenklaus/XmlStats/XmlWorkers/AuthDeregister.java @@ -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> 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 playerList, + Map> 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 playerList, + Map> parameters) throws XmlStatsException { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/de/sockenklaus/XmlStats/XmlWorkers/AuthRegister.java b/src/de/sockenklaus/XmlStats/XmlWorkers/AuthRegister.java new file mode 100644 index 0000000..2cc99ea --- /dev/null +++ b/src/de/sockenklaus/XmlStats/XmlWorkers/AuthRegister.java @@ -0,0 +1,104 @@ +/** + * + */ +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.XmlStats; +import de.sockenklaus.XmlStats.XmlStatsRegistry; +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> parameters) throws XmlStatsException { + + if(parameters.containsKey("key")){ + for (String key : parameters.get("key")){ + XmlStats x_temp = (XmlStats)XmlStatsRegistry.get("xmlstats"); + 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(); + } + } + 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 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 playerList, Map> 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 playerList, Map> parameters) throws XmlStatsException { + return this.getXml(parameters); + } + +}