diff --git a/src/de/sockenklaus/XmlStats/XmlWorkers/AchievementsList.java b/src/de/sockenklaus/XmlStats/XmlWorkers/AchievementsList.java index 0b305cc..1c811d3 100644 --- a/src/de/sockenklaus/XmlStats/XmlWorkers/AchievementsList.java +++ b/src/de/sockenklaus/XmlStats/XmlWorkers/AchievementsList.java @@ -27,7 +27,8 @@ public class AchievementsList extends XmlWorker { HashMap 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))); } diff --git a/src/de/sockenklaus/XmlStats/XmlWorkers/UserAchievements.java b/src/de/sockenklaus/XmlStats/XmlWorkers/UserAchievements.java index f0fc040..3cde291 100644 --- a/src/de/sockenklaus/XmlStats/XmlWorkers/UserAchievements.java +++ b/src/de/sockenklaus/XmlStats/XmlWorkers/UserAchievements.java @@ -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> 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> 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 playerList, Map> 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 playerList, Map> parameters) throws XmlStatsException { + throw new XmlStatsException("sum="+parameters.get("sum")+" does not deliver any data!"); } /* (non-Javadoc) diff --git a/src/de/sockenklaus/XmlStats/XmlWorkers/UserBalances.java b/src/de/sockenklaus/XmlStats/XmlWorkers/UserBalances.java index 6d237a1..7ae2a9a 100644 --- a/src/de/sockenklaus/XmlStats/XmlWorkers/UserBalances.java +++ b/src/de/sockenklaus/XmlStats/XmlWorkers/UserBalances.java @@ -58,11 +58,6 @@ public class UserBalances extends XmlWorker { */ @Override public Element getXml(Map> 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!"); } diff --git a/src/de/sockenklaus/XmlStats/XmlWorkers/UserStats.java b/src/de/sockenklaus/XmlStats/XmlWorkers/UserStats.java index 4d88264..4b94b5d 100644 --- a/src/de/sockenklaus/XmlStats/XmlWorkers/UserStats.java +++ b/src/de/sockenklaus/XmlStats/XmlWorkers/UserStats.java @@ -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> 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> 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> 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);