Switched version number to v0.4. Fixed a bug in fetchAllPlayers(). Did

some work on object based XML generation.
This commit is contained in:
Pascal Koenig
2011-10-04 10:35:57 +02:00
parent 40d9bceeb1
commit ebc3e3d1fc
14 changed files with 50 additions and 345 deletions

Binary file not shown.

View File

@@ -1,59 +0,0 @@
/**
*
*/
package de.sockenklaus.XmlStats.Objects;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import com.nidefawl.Achievements.AchievementListData;
import de.sockenklaus.XmlStats.XmlStats;
/**
* @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();
XmlStats.LogDebug("End of Achievement constructor.");
}
protected Achievement(){
}
public Element getXml(Document doc){
Element result = doc.createElement("achievement");
result.setAttribute("enabled", this.enabled.toString());
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;
}
}

View File

@@ -1,44 +0,0 @@
/**
*
*/
package de.sockenklaus.XmlStats.Objects;
import java.util.HashMap;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import com.nidefawl.Achievements.AchievementListData;
import de.sockenklaus.XmlStats.XmlStats;
import de.sockenklaus.XmlStats.Datasource.AchievementsDS;
/**
* @author socrates
*
*/
public class Achievements extends Array {
public Achievements(){
super();
XmlStats.LogDebug("Casting Achievements constructor");
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(Elem ach : this.childNodes){
result.appendChild(ach.getXml(doc));
}
return result;
}
}

View File

@@ -1,26 +0,0 @@
/**
*
*/
package de.sockenklaus.XmlStats.Objects;
import java.util.ArrayList;
/**
* @author socrates
*
*/
public abstract class Array extends Elem{
protected ArrayList<Elem> childNodes;
public Array(){
this.childNodes = new ArrayList<Elem>();
}
public int getCountInt(){
return this.childNodes.size();
}
public String getCountStr(){
return String.valueOf(this.childNodes.size());
}
}

View File

@@ -1,24 +0,0 @@
/**
*
*/
package de.sockenklaus.XmlStats.Objects;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
/**
* @author socrates
*
*/
public class Categories extends Array {
/* (non-Javadoc)
* @see de.sockenklaus.XmlStats.Objects.Elem#getXml(org.w3c.dom.Document)
*/
@Override
public Element getXml(Document doc) {
// TODO Auto-generated method stub
return null;
}
}

View File

@@ -1,12 +0,0 @@
/**
*
*/
package de.sockenklaus.XmlStats.Objects;
/**
* @author socrates
*
*/
public class Category {
}

View File

@@ -1,31 +0,0 @@
/**
*
*/
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;
}
/**
* @param doc
* @return
*/
public abstract Element getXml(Document doc);
}

View File

@@ -1,12 +0,0 @@
/**
*
*/
package de.sockenklaus.XmlStats.Objects;
/**
* @author socrates
*
*/
public class Item {
}

View File

@@ -1,24 +0,0 @@
/**
*
*/
package de.sockenklaus.XmlStats.Objects;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
/**
* @author socrates
*
*/
public class Items extends Array {
/* (non-Javadoc)
* @see de.sockenklaus.XmlStats.Objects.Elem#getXml(org.w3c.dom.Document)
*/
@Override
public Element getXml(Document doc) {
// TODO Auto-generated method stub
return null;
}
}

View File

@@ -1,12 +0,0 @@
/**
*
*/
package de.sockenklaus.XmlStats.Objects;
/**
* @author socrates
*
*/
public class User {
}

View File

@@ -1,31 +0,0 @@
/**
*
*/
package de.sockenklaus.XmlStats.Objects;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
/**
* @author socrates
*
*/
public class UserAchievement extends Achievement {
private String name;
private int count;
public UserAchievement(String paName, com.nidefawl.Achievements.Achievement achievement){
this.name = paName;
this.count = achievement.getCount();
}
public Element getXml(Document doc){
Element result = doc.createElement("achievement");
result.appendChild(this.addXmlChild("name", this.name, doc));
result.appendChild(this.addXmlChild("count", this.count, doc));
return result;
}
}

View File

@@ -1,43 +0,0 @@
/**
*
*/
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;
import de.sockenklaus.XmlStats.Datasource.Datasource;
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
/**
* @author socrates
*
*/
public class UserAchievements extends Achievements {
public UserAchievements(String userName) throws XmlStatsException{
AchievementsDS ads = new AchievementsDS();
if (Datasource.userExists(userName)){
PlayerAchievement pa = ads.getUserAchievement(userName);
for(String paName : pa.achievements.keySet()){
this.childNodes.add(new UserAchievement(paName, pa.get(paName)));
}
}
else throw new XmlStatsException("The given username is not valid.");
}
public Element getXml(Document doc){
Element result = doc.createElement("achievements");
result.setAttribute("count", this.getCountStr());
for(Elem ach : this.childNodes){
result.appendChild(((UserAchievement)ach).getXml(doc));
}
return result;
}
}

View File

@@ -1,24 +0,0 @@
/**
*
*/
package de.sockenklaus.XmlStats.Objects;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
/**
* @author socrates
*
*/
public class Users extends Array {
/* (non-Javadoc)
* @see de.sockenklaus.XmlStats.Objects.Elem#getXml(org.w3c.dom.Document)
*/
@Override
public Element getXml(Document doc) {
// TODO Auto-generated method stub
return null;
}
}

View File

@@ -3,12 +3,15 @@
*/
package de.sockenklaus.XmlStats.XmlWorkers;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.w3c.dom.Element;
import de.sockenklaus.XmlStats.Objects.Achievements;
import com.nidefawl.Achievements.AchievementListData;
import de.sockenklaus.XmlStats.Datasource.AchievementsDS;
/**
* @author socrates
@@ -21,9 +24,16 @@ public class AchievementsList extends XmlWorker {
*/
@Override
protected Element getXml(Map<String, List<String>> parameters) {
Achievements ach = new Achievements();
return ach.getXml(this.doc);
HashMap<String, AchievementListData> achList = new AchievementsDS().getAchievementsList();
Element elem_achs = this.doc.createElement("achievements");
elem_achs.setAttribute("count", String.valueOf(achList.size()));
for(String achName : achList.keySet()){
elem_achs.appendChild(getAchievement(achList.get(achName)));
}
return elem_achs;
}
/* (non-Javadoc)
@@ -41,4 +51,41 @@ public class AchievementsList extends XmlWorker {
protected Element getUserXml(List<String> playerList, Map<String, List<String>> parameters) {
return this.getXml(parameters);
}
private Element getAchievement(AchievementListData data){
Element elem_ach = this.doc.createElement("achievement");
elem_ach.setAttribute("enabled", data.isEnabled()?"true":"false");
Element elem_achname = this.doc.createElement("name");
elem_achname.setTextContent(data.getName());
elem_ach.appendChild(elem_achname);
Element elem_achdesc = this.doc.createElement("description");
elem_achdesc.setTextContent(data.getDescription());
elem_ach.appendChild(elem_achdesc);
Element elem_category = this.doc.createElement("category");
elem_category.setTextContent(data.getCategory());
elem_ach.appendChild(elem_category);
Element elem_stat = this.doc.createElement("stat");
elem_stat.setTextContent(data.getKey());
elem_ach.appendChild(elem_stat);
Element elem_value = this.doc.createElement("value");
elem_value.setTextContent(String.valueOf(data.getValue()));
elem_ach.appendChild(elem_value);
Element elem_maxawards = this.doc.createElement("maxawards");
elem_maxawards.setTextContent(String.valueOf(data.getMaxawards()));
elem_ach.appendChild(elem_maxawards);
Element elem_commands = this.doc.createElement("commands");
elem_commands.setTextContent(data.commands.toString());
elem_ach.appendChild(elem_commands);
return elem_ach;
}
}