Added "count" attribute to all arrays. This solved issue #18.

This commit is contained in:
Pascal Koenig
2011-10-03 21:16:47 +02:00
parent 373de1f42b
commit 670143767d
4 changed files with 15 additions and 29 deletions

View File

@@ -27,6 +27,7 @@ public class AchievementsList extends XmlWorker {
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)));

View File

@@ -11,6 +11,7 @@ import org.w3c.dom.Element;
import com.nidefawl.Achievements.PlayerAchievement;
import de.sockenklaus.XmlStats.Datasource.AchievementsDS;
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
/**
* @author socrates
@@ -28,12 +29,8 @@ public class UserAchievements extends XmlWorker {
* @see de.sockenklaus.XmlStats.XmlWorkers.XmlWorker#getXML(java.util.Map)
*/
@Override
protected Element getXml(Map<String, List<String>> parameters) {
Element elem_error = this.doc.createElement("error");
elem_error.setAttribute("code", "1");
elem_error.setTextContent("No data provided with this query!");
return elem_error;
protected Element getXml(Map<String, List<String>> parameters) throws XmlStatsException {
throw new XmlStatsException("No data provided with this query!");
}
private Element getUserAchievement(String userName){
@@ -43,6 +40,7 @@ public class UserAchievements extends XmlWorker {
PlayerAchievement pa = achDS.getUserAchievement(userName);
Element elem_achs = this.doc.createElement("achievements");
elem_achs.setAttribute("count", String.valueOf(pa.achievements.size()));
for(String achName : pa.achievements.keySet()){
Element elem_ach = this.doc.createElement("achievement");
@@ -60,17 +58,8 @@ public class UserAchievements extends XmlWorker {
* @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) {
if(parameters.containsKey("user")){
return null;
}
else {
Element elem_error = this.doc.createElement("error");
elem_error.setAttribute("code", "1");
elem_error.setTextContent("No data provided with this query!");
return elem_error;
}
protected Element getSumXml(List<String> playerList, Map<String, List<String>> parameters) throws XmlStatsException {
throw new XmlStatsException("sum="+parameters.get("sum")+" does not deliver any data!");
}
/* (non-Javadoc)

View File

@@ -58,11 +58,6 @@ public class UserBalances extends XmlWorker {
*/
@Override
public Element getXml(Map<String, List<String>> parameters) throws XmlStatsException {
/*Element elem_error = this.doc.createElement("error");
elem_error.setAttribute("code", "1");
elem_error.setTextContent("No data provided with this query!");
return elem_error;*/
throw new XmlStatsException("No data provided with this query!");
}

View File

@@ -27,6 +27,7 @@ import com.nidefawl.Stats.datasource.Category;
import com.nidefawl.Stats.datasource.PlayerStat;
import de.sockenklaus.XmlStats.Datasource.UserstatsDS;
import de.sockenklaus.XmlStats.Exceptions.XmlStatsException;
// TODO: Auto-generated Javadoc
/**
@@ -51,12 +52,8 @@ public class UserStats extends XmlWorker {
/* (non-Javadoc)
* @see de.sockenklaus.XmlStats.XmlWorkers.XmlWorker#getXML(java.util.Map)
*/
public Element getXml(Map<String, List<String>> parameters) {
Element elem_error = this.doc.createElement("error");
elem_error.setAttribute("code", "1");
elem_error.setTextContent("No data provided with this query!");
return elem_error;
public Element getXml(Map<String, List<String>> parameters) throws XmlStatsException {
throw new XmlStatsException("No data provided with this query!");
}
/**
@@ -71,6 +68,7 @@ public class UserStats extends XmlWorker {
Element elem_player = this.doc.createElement("user");
Element elem_cats = this.doc.createElement("categories");
elem_cats.setAttribute("count", String.valueOf(player_stats.getCats().size()));
elem_player.appendChild(getTextElem("name", playerName));
elem_player.appendChild(elem_cats);
@@ -79,6 +77,7 @@ public class UserStats extends XmlWorker {
Category cat = player_stats.get(catName);
Element elem_cat = this.doc.createElement("category");
Element elem_items = this.doc.createElement("items");
elem_items.setAttribute("count", String.valueOf(cat.stats.size()));
elem_cat.appendChild(getTextElem("name", catName));
elem_cat.appendChild(elem_items);
@@ -106,12 +105,14 @@ public class UserStats extends XmlWorker {
HashMap<String, HashMap<String, Integer>> addedStats = statsDS.getAddedStats(playerList);
Element elem_stats = this.doc.createElement("stats");
Element elem_cats = this.doc.createElement("categories");
elem_cats.setAttribute("count", String.valueOf(addedStats.size()));
elem_stats.appendChild(elem_cats);
for (String catName : addedStats.keySet()){
Element elem_cat = this.doc.createElement("category");
Element elem_items = this.doc.createElement("items");
elem_items.setAttribute("count", String.valueOf(addedStats.get(catName).size()));
elem_cat.appendChild(getTextElem("name", catName));
elem_cat.appendChild(elem_items);