Fix the defect commit
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
<property name="dist" value="dist" />
|
<property name="dist" value="dist" />
|
||||||
<property name="src" value="src" />
|
<property name="src" value="src" />
|
||||||
<property name="name" value="XmlStats" />
|
<property name="name" value="XmlStats" />
|
||||||
<property name="version" value="0.4" />
|
<property name="version" value="0.3" />
|
||||||
<property name="package" value="de/sockenklaus/XmlStats" />
|
<property name="package" value="de/sockenklaus/XmlStats" />
|
||||||
<property name="resources" value="resources" />
|
<property name="resources" value="resources" />
|
||||||
<property name="author" value="sockenklaus" />
|
<property name="author" value="sockenklaus" />
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ public class AchievementsDS extends Datasource {
|
|||||||
Achievements ach = (Achievements)XmlStatsRegistry.get("achievements");
|
Achievements ach = (Achievements)XmlStatsRegistry.get("achievements");
|
||||||
|
|
||||||
if(xmlstats.checkAchievements()){
|
if(xmlstats.checkAchievements()){
|
||||||
XmlStats.LogDebug("Found "+ach.achievementList.size()+" achievements.");
|
|
||||||
return ach.achievementList;
|
return ach.achievementList;
|
||||||
}
|
}
|
||||||
else return new HashMap<String, AchievementListData>();
|
else return new HashMap<String, AchievementListData>();
|
||||||
|
|||||||
@@ -18,10 +18,6 @@ import java.io.File;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.World;
|
|
||||||
|
|
||||||
import de.sockenklaus.XmlStats.XmlStats;
|
|
||||||
import de.sockenklaus.XmlStats.XmlStatsRegistry;
|
|
||||||
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
|
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
|
||||||
|
|
||||||
// TODO: Auto-generated Javadoc
|
// TODO: Auto-generated Javadoc
|
||||||
@@ -36,24 +32,18 @@ public abstract class Datasource {
|
|||||||
* @return the array list
|
* @return the array list
|
||||||
*/
|
*/
|
||||||
public static ArrayList<String> fetchAllPlayers(){
|
public static ArrayList<String> fetchAllPlayers(){
|
||||||
XmlStats xmlstats = (XmlStats)XmlStatsRegistry.get("xmlstats");
|
File[] files = new File("world/players").listFiles();
|
||||||
List<World> worlds = xmlstats.getServer().getWorlds();
|
|
||||||
ArrayList<String> result = new ArrayList<String>();
|
ArrayList<String> result = new ArrayList<String>();
|
||||||
|
|
||||||
for(World world : worlds){
|
for (int i = 0; i < files.length; i++){
|
||||||
File[] files = new File(world.getName()+"/players").listFiles();
|
int whereDot = files[i].getName().lastIndexOf('.');
|
||||||
|
|
||||||
for (File file : files){
|
if (0 < whereDot && whereDot <= files[i].getName().length() - 2){
|
||||||
int whereDot = file.getName().lastIndexOf('.');
|
String playerName = files[i].getName().substring(0, whereDot);
|
||||||
|
|
||||||
if (0 < whereDot && whereDot <= file.getName().length() - 2){
|
result.add(playerName);
|
||||||
String playerName = file.getName().substring(0, whereDot);
|
|
||||||
|
|
||||||
if(!result.contains(playerName)) result.add(playerName);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
55
src/de/sockenklaus/XmlStats/Objects/Achievement.java
Normal file
55
src/de/sockenklaus/XmlStats/Objects/Achievement.java
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package de.sockenklaus.XmlStats.Objects;
|
||||||
|
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
|
||||||
|
import com.nidefawl.Achievements.AchievementListData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author socrates
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class Achievement extends Elem {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
private String description;
|
||||||
|
private String category;
|
||||||
|
private String stat;
|
||||||
|
private Integer value;
|
||||||
|
private Integer maxawards;
|
||||||
|
private String commands;
|
||||||
|
private Boolean enabled;
|
||||||
|
|
||||||
|
public Achievement(AchievementListData ach){
|
||||||
|
this.name = ach.getName();
|
||||||
|
this.description = ach.getDescription();
|
||||||
|
this.category = ach.getCategory();
|
||||||
|
this.stat = ach.getKey();
|
||||||
|
this.value = ach.getValue();
|
||||||
|
this.maxawards = ach.getMaxawards();
|
||||||
|
this.commands = ach.commands.toString();
|
||||||
|
this.enabled = ach.isEnabled();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Achievement(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Element getXml(Document doc){
|
||||||
|
Element result = doc.createElement("achievement");
|
||||||
|
|
||||||
|
result.setAttribute("enabled", this.enabled ?"true":"false");
|
||||||
|
result.appendChild(this.addXmlChild("name", this.name, doc));
|
||||||
|
result.appendChild(this.addXmlChild("description", this.description, doc));
|
||||||
|
result.appendChild(this.addXmlChild("category", this.category, doc));
|
||||||
|
result.appendChild(this.addXmlChild("stat", this.stat, doc));
|
||||||
|
result.appendChild(this.addXmlChild("value", this.value, doc));
|
||||||
|
result.appendChild(this.addXmlChild("maxawards", this.maxawards, doc));
|
||||||
|
result.appendChild(this.addXmlChild("commands", this.commands, doc));
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
43
src/de/sockenklaus/XmlStats/Objects/Achievements.java
Normal file
43
src/de/sockenklaus/XmlStats/Objects/Achievements.java
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package de.sockenklaus.XmlStats.Objects;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
|
||||||
|
import com.nidefawl.Achievements.AchievementListData;
|
||||||
|
|
||||||
|
import de.sockenklaus.XmlStats.Datasource.AchievementsDS;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author socrates
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class Achievements extends Array {
|
||||||
|
protected ArrayList<Achievement> childNodes;
|
||||||
|
|
||||||
|
public Achievements(){
|
||||||
|
AchievementsDS ads = new AchievementsDS();
|
||||||
|
|
||||||
|
HashMap<String, AchievementListData> achList = ads.getAchievementsList();
|
||||||
|
|
||||||
|
for(String achName : achList.keySet()){
|
||||||
|
this.childNodes.add(new Achievement(achList.get(achName)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Element getXml(Document doc){
|
||||||
|
Element result = doc.createElement("achievements");
|
||||||
|
result.setAttribute("count", this.getCountStr());
|
||||||
|
|
||||||
|
for(Achievement ach : this.childNodes){
|
||||||
|
result.appendChild(ach.getXml(doc));
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
22
src/de/sockenklaus/XmlStats/Objects/Array.java
Normal file
22
src/de/sockenklaus/XmlStats/Objects/Array.java
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package de.sockenklaus.XmlStats.Objects;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author socrates
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public abstract class Array {
|
||||||
|
private ArrayList<?> childNodes;
|
||||||
|
|
||||||
|
public int getCountInt(){
|
||||||
|
return this.childNodes.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCountStr(){
|
||||||
|
return String.valueOf(this.childNodes.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
12
src/de/sockenklaus/XmlStats/Objects/Categories.java
Normal file
12
src/de/sockenklaus/XmlStats/Objects/Categories.java
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package de.sockenklaus.XmlStats.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author socrates
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class Categories extends Array {
|
||||||
|
|
||||||
|
}
|
||||||
25
src/de/sockenklaus/XmlStats/Objects/Elem.java
Normal file
25
src/de/sockenklaus/XmlStats/Objects/Elem.java
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package de.sockenklaus.XmlStats.Objects;
|
||||||
|
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author socrates
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public abstract class Elem {
|
||||||
|
protected Element addXmlChild(String elemName, String text, Document doc){
|
||||||
|
Element result = doc.createElement(elemName);
|
||||||
|
result.setTextContent(text);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Element addXmlChild(String elemName, int value, Document doc){
|
||||||
|
Element result = doc.createElement(elemName);
|
||||||
|
result.setTextContent(String.valueOf(value));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
14
src/de/sockenklaus/XmlStats/Objects/Items.java
Normal file
14
src/de/sockenklaus/XmlStats/Objects/Items.java
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package de.sockenklaus.XmlStats.Objects;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author socrates
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class Items extends Array {
|
||||||
|
|
||||||
|
}
|
||||||
38
src/de/sockenklaus/XmlStats/Objects/UserAchievements.java
Normal file
38
src/de/sockenklaus/XmlStats/Objects/UserAchievements.java
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package de.sockenklaus.XmlStats.Objects;
|
||||||
|
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
|
||||||
|
import com.nidefawl.Achievements.PlayerAchievement;
|
||||||
|
|
||||||
|
import de.sockenklaus.XmlStats.Datasource.AchievementsDS;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author socrates
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class UserAchievements extends Achievements {
|
||||||
|
public UserAchievements(String userName){
|
||||||
|
AchievementsDS ads = new AchievementsDS();
|
||||||
|
|
||||||
|
PlayerAchievement pa = ads.getUserAchievement(userName);
|
||||||
|
|
||||||
|
for(String paName : pa.achievements.keySet()){
|
||||||
|
this.childNodes.add(new UserAchievement(paName, pa.get(paName)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Element getXml(Document doc){
|
||||||
|
Element result = doc.createElement("achievements");
|
||||||
|
result.setAttribute("count", this.getCountStr());
|
||||||
|
|
||||||
|
for(Achievement ach : this.childNodes){
|
||||||
|
result.appendChild(((UserAchievement)ach).getXml(doc));
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
12
src/de/sockenklaus/XmlStats/Objects/Users.java
Normal file
12
src/de/sockenklaus/XmlStats/Objects/Users.java
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package de.sockenklaus.XmlStats.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author socrates
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class Users extends Array {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -56,6 +56,7 @@ public class AchievementsList extends XmlWorker {
|
|||||||
Element elem_ach = this.doc.createElement("achievement");
|
Element elem_ach = this.doc.createElement("achievement");
|
||||||
elem_ach.setAttribute("enabled", data.isEnabled()?"true":"false");
|
elem_ach.setAttribute("enabled", data.isEnabled()?"true":"false");
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
Element elem_achname = this.doc.createElement("name");
|
Element elem_achname = this.doc.createElement("name");
|
||||||
elem_achname.setTextContent(data.getName());
|
elem_achname.setTextContent(data.getName());
|
||||||
elem_ach.appendChild(elem_achname);
|
elem_ach.appendChild(elem_achname);
|
||||||
@@ -84,6 +85,16 @@ public class AchievementsList extends XmlWorker {
|
|||||||
elem_commands.setTextContent(data.commands.toString());
|
elem_commands.setTextContent(data.commands.toString());
|
||||||
elem_ach.appendChild(elem_commands);
|
elem_ach.appendChild(elem_commands);
|
||||||
|
|
||||||
|
=======
|
||||||
|
elem_ach.appendChild(getTextElem("name", data.getName()));
|
||||||
|
elem_ach.appendChild(getTextElem("description", data.getDescription()));
|
||||||
|
elem_ach.appendChild(getTextElem("category", data.getCategory()));
|
||||||
|
elem_ach.appendChild(getTextElem("stat", data.getKey()));
|
||||||
|
elem_ach.appendChild(getTextElem("value", data.getValue()));
|
||||||
|
elem_ach.appendChild(getTextElem("maxawards", data.getMaxawards()));
|
||||||
|
elem_ach.appendChild(getTextElem("commands", data.commands.toString()));
|
||||||
|
|
||||||
|
>>>>>>> parent of 40d9bce... Pushed version to 0.4. Did some work on object based XML generation.
|
||||||
return elem_ach;
|
return elem_ach;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user