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(); HashMap<String, AchievementListData> achList = new AchievementsDS().getAchievementsList();
Element elem_achs = this.doc.createElement("achievements"); Element elem_achs = this.doc.createElement("achievements");
elem_achs.setAttribute("count", String.valueOf(achList.size()));
for(String achName : achList.keySet()){ for(String achName : achList.keySet()){
elem_achs.appendChild(getAchievement(achList.get(achName))); elem_achs.appendChild(getAchievement(achList.get(achName)));

View File

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

View File

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